我正在尝试编写一个类似的查询:
var query = {
userId: req.params.userId,
isActive: true,
'interval.start': {
$lte: now
},
'interval.end': {
$or: [
{ $gte: now },
{ $exists: false },
{ $eq: null }
]
}
};
我想要实现的是我想找到适合这些条件的列:
我收到了:Can't use $or with Date.
错误。
谢谢。
答案 0 :(得分:7)
据我所知,你不能嵌套$或在特定领域内。 $or运算符采用一系列表达式。
尝试以下查询:
var query = {
userId: req.params.userId,
isActive: true,
'interval.start': {
$lte: now
},
$or: [
{'interval.end': {$gte: now} },
{'interval.end': {$exists: false} },
{'interval.end': null }
]
};