美文网首页
MongoDB的空值查询问题

MongoDB的空值查询问题

作者: 兰陵笑_生 | 来源:发表于2020-03-20 15:15 被阅读0次

    查询有值的情况

    大家都知道可以使用

    db.mycollection.find({"myField":{$exists:true}});

    来查询出指定字段值不存在的所有集何。

    可是假设这个字段的值为null,包含这个字段的集合仍然会被筛选出来。

    需要查询出某个字段存在且不为空的时候就需要用到

    db.mycollection.find({"myfield":{$ne:null}});

    来查询。

    并且 $exists 无法利用到索引, 但$NE 可以用上索引, 出于于性能的考虑尽可能用 $ne:null

    查询无值的情况

    1.查询集合中字段的值为null或者不存在

    db.mycollection.find({"myfield":null});

    2.查询集合中字段的值为null,(仅返回字段的值为null的数据,不会返回不存在的)

    db.myCollection.find({ “myField” : { $type : 10 } } )

    db.myCollection.find({“myField”:{“$in”:[null], “$exists”:true}})

    3.查询集合中字段的值不存在(不会返回字段的值为null的数据)

    相关文章

      网友评论

          本文标题:MongoDB的空值查询问题

          本文链接:https://www.haomeiwen.com/subject/vjpubttx.html