各位,我正在尝试混合$all和$nin MongoDB2.6查询参数。是否允许以这种方式将$or与$all和$nin混合使用?
从本质上讲,我们在这里要检索的是一些文档,这些文档要么有['foo','bar']. OR,没有['baz']
查询:
{
"_type": {
"$in": [
"A"
]
},
"tags": {
"$or": [
{
"$all": [
"foo","bar"
]
},
{
"$nin": [
"baz"
]
}
]
}
}错误:
HCError: (HCError) error converting cursor to array | caused by: MongoError: Can't canonicalize query: BadValue unknown operator: $or发布于 2015-03-12 23:29:55
错误的原因是,$or不对它的父域的字段执行操作,而是期望整个“查询文档”作为它的子文档:
{
"_type": {
"$in": [
"A"
]
},
"$or": [
{ "tags": { "$all": [ "foo","bar"] } },
{ "tags": { "$nin": [ "baz" ] } }
]
}https://stackoverflow.com/questions/29022109
复制相似问题