首页 > 解决方案 > 获取特定日期范围内的结果

问题描述

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

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

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

现在问题是我只想检索一周的结果我使用以下代码来执行它但它说

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

我怎样才能只检索上周的结果?

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);
});

标签: javascriptnode.jsmongodbapimongoose

解决方案


错字!我想你忘记了$in $gte。尝试将其更改为

saletime: { "$gte": remDays(date, 7), "$lt": Date(date) }

推荐阅读