请考虑按照示例聚合查询来查找字段是否存在:
db.coll.aggregate({"$project":{"exists":{ "$cond" : [ {"$eq": ["$fieldName", undefined] } , "true" , "false" ]}}})
此聚合在mongo shell中按预期工作。但是在未定义的地方使用null在mongo shell中不起作用(为什么?),如下所示:
db.coll.aggregate({"$project":{"exists":{ "$cond" : [ {"$eq": ["$fieldName", null] } , "true" , "false" ]}}})
我想通过java驱动程序使用此操作。
但我不知道如何将其转换为java驱动程序,因为它没有undefined
。在undefined中使用null
在java中也不起作用..
为什么这样设计?