gpt4 book ai didi

scala - MongoDB Casbah 查询字段不存在或特定值

转载 作者:可可西里 更新时间:2023-11-01 09:32:33 25 4
gpt4 key购买 nike

我想使用 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"]}}

抱歉给您带来麻烦...我创建了一个 bug entry以便在下一个版本中更正。

关于scala - MongoDB Casbah 查询字段不存在或特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5694575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com