我正在尝试通过比较对象第三级内部的特定字段来查询和过滤对象。我不确定如何在第三级中将过滤器与$ lte或$ gte一起使用。例如,在下面的对象中,我想过滤文档的发送时间(delivery_rule-> time-> $ lte:max),但无法通过以下查询获取它:
if (filters.time) {
query = {
...query,
"delivery_rule.time.max": { $lte: filters.time }
};
}
我的模式是:
var VendorSchema = new mongoose.Schema({
...,
delivery_rule: {
...,
time: {
min: {
type: Number,
default: 0
},
mid: {
type: Number,
default: 0
},
max: {
type: Number,
default: 0
}
},
});
module.exports = mongoose.model("Vendor", VendorSchema);
当我在shell中使用filters.time = 30运行查询时,它返回我[]个对象,但是我有5个对象,时间为60。
答案 0 :(得分:0)
我做的很好。我在测试中有些困惑))