使用Casbah查询null

时间:2013-08-22 19:37:58

标签: null casbah

我正在使用Casbah连接并查询Mongo数据库。现在我正在尝试查询值不为null的字段。

使用直接Mongo语法,我想要的查询将是collection.find({"key" : {$ne : null }} )

在casbah中,我尝试了collection.find("key" $ne null),它不编译,collection.find("key" $ne MongoDBObject(null))在运行时抛出空指针异常,以及collection.find("key" $ne org.bson.BSON.NULL)实际上并没有查询得当。

collection.find("key" -> null)将用于查询空值。

在上面的例子中,我的语法可能略有不同,但应该传达基本的想法。

任何想法?

我无法更改数据库,因此空条目不存在。那是我无法控制的。我可以改为不卡斯巴,但我真的不愿意。

2 个答案:

答案 0 :(得分:1)

在scala中,您经常可以使用None作为null。在这里你想要:

collection.find("key" $ne None)

答案 1 :(得分:1)

collection.find(MongoDBObject("key" -> MongoDBObject("$ne" -> None)))

这可以胜任。我也一直坚持这个