我尝试在mongodb中实现$or
查询,但收到错误:$or needs an array
。
这是我的要求:
const filters = {
"$or": [
{
"positionStatus": {
"$in": [
"trainee"
]
}
},
{
"positionStatus": {
"$exists": false
}
},
{
"positionStatus": []
},
{
"positionStatus": [
""
]
}
]
}
我使用$or
测试了对象的Array.isArray
属性的类型,并返回true
:
console.log('is array: ', Array.isArray(filters['$or']));
我使用的是Nodejs驱动程序版本2.2.33和Mongorito。
const items = yield Item
.sort(formatted_sort)
.find(filters)
.map(item => ...);
在进一步调查之后,问题出现在使用带有count
的表达式时:
const count = yield Sentence
.where(filters).count();
感谢您的帮助!