获取特定日期范围内的结果

时间:2020-04-19 17:04:37

标签: javascript node.js mongodb api mongoose

我正在使用节点js和猫鼬创建一个API。我已经成功保存了数据。

const salesSchema = new mongoose.Schema({
    userID: {
        type: String,
        required: true
    },
    total: {
        type: String
    },
    saletime: {
        type: Date
    }
});

这是我用来存储数据的架构

现在,我只想检索一个星期的结果 我使用以下代码来做到这一点,但它说

错误:不能将gte与Date一起使用

我如何只检索上周的结果?

router.post('/getmyweeksales', async(req, res) => {

    function remDays(date, days) {
        var result = new Date(date);
        result.setDate(result.getDate() - days);
        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), "$lt": Date(date) }
    }).sort({ saletime: -1 });

    res.send(sales);
});

1 个答案:

答案 0 :(得分:1)

错别字!我认为您忘记了$中的$gte。尝试将其更改为

saletime: { "$gte": remDays(date, 7), "$lt": Date(date) }
相关问题