【发布时间】:2020-08-02 04:52:55
【问题描述】:
我使用 node JS 和 mongo db 制作了一个 API。在那里,我创建了一条使用数据参数获取结果集的路线
这是我创建的路线
router.post('/getmyweeksales', async(req, res) => {
function remDays(date, days) {
var result = new Date(date);
result.setDate(result.getDate() - days);
console.log(result);
return result;
}
const verified = jwt.verify(req.body.token, process.env.TOKEN_SECRET);
const date = req.body.currentdate;
const sales = await Sale.find({
userID: verified._id,
saletime: {
"$gte": remDays(date, 7).toISOString(),"$lt": Date(date)
}
}).sort({ saletime: -1 });
res.send(sales);
});
添加这些日期参数后,它会为我发送的每个请求提供相同的输出。
如果我删除这一行,它会给我每个结果而没有任何错误
saletime: {
"$gte": remDays(date, 7).toISOString(),"$lt": Date(date)
}
以下是我每次收到的。
[
{
"_id": "5e9b2b320b85d100178a3233",
"userID": "5e931e4661c5c000170bcdc5",
"saledata": [
{
"_id": "5e9b2b320b85d100178a3235",
"itemName": "sample item 1",
"quantity": "1",
"itemTotal": "123.0"
},
{
"_id": "5e9b2b320b85d100178a3234",
"itemName": "sample item 3",
"quantity": "1",
"itemTotal": "123.0"
}
],
"total": "246",
"saletime": "2020-04-18T22:00:40.044Z",
"__v": 0
}
]
我怎样才能在 7 天内收到所有结果?
【问题讨论】:
-
您似乎将第一个日期转换为
toISOString()而不是第二个日期。这可能是问题吗? -
没有问题,我发现问题出在
Date(date)。将在下面发布答案
标签: javascript node.js mongodb api mongoose