MongoDB Casbah Query DSL $存在$ in

时间:2013-10-31 11:05:24

标签: mongodb scala casbah

尝试将以下mongo控制台查询转换为casbah / scala的DSL。

db.campaign.find({ "space.id": { $exists: true, $in: ["123","456"] } })

我提出的最好的是以下使用或代替。

$or("space.id" $exists false, "space.id" $in restrictedSpaces)

只是寻找有经验的人(阅读任何人),说这是正确的方法,或者有更好的方法来解决这个问题。

谢谢,Aaron

1 个答案:

答案 0 :(得分:1)

啊啊..

我很抱歉发布可能是个愚蠢的问题。答案似乎是做我做的事情没有必要..

Mongo似乎很聪明,当字段不存在时忽略$ in,而我预计它会抛出一个错误,通知我文档没有字段,因此我原来的问题。

以下简单的查询可以解释DSL和mongo的简单性和性能。

"space.id" $in restrictedSpaces

注意:restrictedSpaces是一个String列表。

谢谢,Aaron