mongodb中find $ne null 与$exists的区别
$ne null 会把空列表也算入,即使不存在。
$exists 的识别效果就比较好
1.插入样例数据
db.nullexistsdemo.insertMany( [{ "name" : "wqbin", "desc" : [ ] }
,{ "name" : "wang", "desc" : { } }
,{ "name" : "quincy", "desc" : { "job" : "coder", "degree" : 4 } }
,{ "name" : "wangyang"}]
)

2.查看不等于null的数值
db.nullexistsdemo.find({"desc.job":{"$ne":null}})

db.nullexistsdemo.find({"desc.degree":{"$ne":null}})

3.查看等于null的数值
db.nullexistsdemo.find({"desc.degree":{"$eq":null}})
db.nullexistsdemo.find({"desc.job":{"$eq":null}})

4.查看不exists的数据
db.nullexistsdemo.find({"desc.degree":{"$exists":null}})
db.nullexistsdemo.find({"desc.job":{"$exists":false}})

5.查看exists的数据
db.nullexistsdemo.find({"desc.degree":{"$exists":1}})
db.nullexistsdemo.find({"desc.job":{"$exists":""}})
db.nullexistsdemo.find({"desc.job":{"$exists":true}})

大多数人都以为是才智成就了科学家,他们错了,是品格。---爱因斯坦

浙公网安备 33010602011771号