【发布时间】:2022-01-20 02:12:44
【问题描述】:
我花了两天时间试图弄清楚发生了什么,但仍然无法弄清楚问题出在哪里。好郁闷:((
我在代码沙箱上有这段代码,它从 api 获取月份和总计,然后进行简单的计算。
https://codesandbox.io/s/agitated-cdn-q3gju?file=/src/Card.js
第一个问题:每隔一次页面刷新,屏幕上的值将首先呈现第一个总数,然后在第二次刷新时,它将呈现第二个总数。 (请查看沙盒上的代码以更好地理解我的意思)
第二个问题:当我尝试 console.log revenue 时,我在控制台上打印了两次数组,不知道为什么它会获取两次。
第三个问题:我知道这可能与我的后端代码有关(我在下面包含了一个 sn-p)但我确实已经通过每一行来调试和无法发现错误。
非常感谢您的帮助????
router.get("/incomestats", verifyTokenAndAdmin, async (req, res) => {
const date = new Date();
const lastMonth = new Date(date.setMonth(date.getMonth() - 1));
const previousMonth = new Date(date.setMonth(lastMonth.getMonth() - 1));
// const previousMonth = new Date(new Date().setMonth(lastMonth.getMonth() - 1));
try {
const ordersData = await Order.aggregate([
{ $match: { createdAt: { $gte: previousMonth } } },
{ $project: { month: { $month: "$createdAt" }, sales: "$amount" } },
{ $group: { _id: "$month", total: { $sum: "$sales" } } },
]);
res.status(200).json(ordersData);
} catch (error) {
res.status(500).json(error);
console.log(error);
}
});
【问题讨论】:
标签: javascript reactjs