com.mongodb.MongoException:无效的运算符:$or
com.mongodb.MongoException: invalid operator: $or
我要运行查询,其中returns一个集合的所有元素,其中
- 字段
wasProposed
和 markedByUser
为真并且
- 字段
recipientEmail
是 email1@example.com
或 email2@example.com
。
在我的 Java 代码中,我创建了一个 BasicDBObject
,它的 toString
returns 这个:
{
"wasProposed" : true ,
"recipientEmail" :
{
"$or" :
[
{ "recipientEmail" : "email1@example.com" } ,
{ "recipientEmail" : "email2@example.com" }
]
},
"markedByUser" : true
}
当我 运行 这个查询 (rcoll.find(query).sort(sortclause).limit(ITEMS_TO_SHOW)
) 时,我得到错误 com.mongodb.MongoException: invalid operator: $or
.
如何修改上面的查询以消除此错误?
在这里使用 $in
代替 $or
可能更简洁:
{
"wasProposed" : true ,
"recipientEmail" : { "$in" : ["email1@example.com", "email2@example.com"] },
"markedByUser" : true
}
我要运行查询,其中returns一个集合的所有元素,其中
- 字段
wasProposed
和markedByUser
为真并且 - 字段
recipientEmail
是email1@example.com
或email2@example.com
。
在我的 Java 代码中,我创建了一个 BasicDBObject
,它的 toString
returns 这个:
{
"wasProposed" : true ,
"recipientEmail" :
{
"$or" :
[
{ "recipientEmail" : "email1@example.com" } ,
{ "recipientEmail" : "email2@example.com" }
]
},
"markedByUser" : true
}
当我 运行 这个查询 (rcoll.find(query).sort(sortclause).limit(ITEMS_TO_SHOW)
) 时,我得到错误 com.mongodb.MongoException: invalid operator: $or
.
如何修改上面的查询以消除此错误?
在这里使用 $in
代替 $or
可能更简洁:
{
"wasProposed" : true ,
"recipientEmail" : { "$in" : ["email1@example.com", "email2@example.com"] },
"markedByUser" : true
}