尝试将以下mongo控制台查询转换为casbah / scala的DSL。
db.campaign.find({ "space.id": { $exists: true, $in: ["123","456"] } })
我提出的最好的是以下使用或代替。
$or("space.id" $exists false, "space.id" $in restrictedSpaces)
只是寻找有经验的人(阅读任何人),说这是正确的方法,或者有更好的方法来解决这个问题。
谢谢,Aaron
答案 0 :(得分:1)
啊啊..
我很抱歉发布可能是个愚蠢的问题。答案似乎是做我做的事情没有必要..
Mongo似乎很聪明,当字段不存在时忽略$ in,而我预计它会抛出一个错误,通知我文档没有字段,因此我原来的问题。
以下简单的查询可以解释DSL和mongo的简单性和性能。
"space.id" $in restrictedSpaces
注意:restrictedSpaces是一个String列表。
谢谢,Aaron