仅使用时间的猫鼬查询条件-无日期

时间:2019-10-02 16:32:19

标签: node.js mongoose mongoose-schema

我必须执行一个查询,以检查当前时间(现在)是否在另一个集合中的时间范围内。我正在使用查找来获取范围,并使用$ gt和$ lt进行比较。问题是我需要比较的字段是“日期”字段,我需要以某种方式从比较字段中提取月,日和年,并使用这些值以及now()的当前时,分和秒创建一个新的日期。 。

1)可以吗?

2)如果是,我将如何执行此查询?

这是我当前的查询:

{
    $match: {
        $and: [
            { testField: { $eq: false } },
            { rule: { $ne: null } }
        ]
    }
},
    {
        "$lookup": {
            from: "rules",
            localField: "rule",
            foreignField: "_id",
            as: "rules"
        }
    },
    {
        $unwind: {
            path: "$rules",
            preserveNullAndEmptyArrays: true
        }
    },
    {
        $match: {
            $or: [
                { $or: [ { action: { $eq: null} }, { action: { $eq: false } }, { action: { $exists: false } } ] },
                { $and: [
                        { "rules.start": { $lt: (new Date()) } }, //<— how would I get the fullYear, month, and date from the rules.start
                        { "rules.end": { $gt: (new Date()) } } //<— how would I get the fullYear, month, and date from the rules.end
                    ]
                }
            ]
        }
    }

0 个答案:

没有答案