MongoDB Casbah查询字段不存在或没有特定值

| 我想使用casbah执行查询,以查找未设置特定字段(该字段不存在)或该字段具有特定值的所有对象。 我尝试使用
val query = (\"_id.serviceName\" $in serviceNames) ++ ($or(\"element\" $exists false), MongoDBObject(\"element\" -> \"value\"))) 
但我得到一个错误:
found com.mongodb.casbah.commons.Imports.DBObject
required (String, Any)
是否可以表达这样的查询? 谢谢     
已邀请:
看起来这可能是$ or的右侧值过滤器中的错误。它似乎不接受$ exists DSL语句中的预构造DBObject。绝对应该-我正在内部提交一个错误来解决此问题;同时,您可以通过手动执行“ $ exists \”语句来构造它:
scala> val query = (\"_id.serviceName\" $in serviceNames) ++ ($or((\"element\" -> MongoDBObject(\"$exists\" -> false)), (\"element\" -> \"value\")))            
query: com.mongodb.casbah.commons.Imports.DBObject = { \"$or\" : [ { \"element\" : { \"$exists\" : false}} , { \"element\" : \"value\"}] , \"_id.serviceName\" : { \"$in\" : [ \"foo\" , \"bar\" , \"baz\" , \"bah\"]}}
很抱歉给您带来麻烦...我已经为此创建了一个错误条目,以更正下一个版本。     

要回复问题请先登录注册