美文网首页
【mongoDB】mongoDB 中查询字段为空或非空的集合

【mongoDB】mongoDB 中查询字段为空或非空的集合

作者: Bogon | 来源:发表于2021-11-15 00:21 被阅读0次


    1. $ne

    $ne:表示 not equal  就是不等于的意思。

    #查询某字段不为空的数据

    db.test.find({fieldName: {$ne:null}})

    db.getCollection('test').find({'CurrentApproverList': {$ne:null}})

    # 查询字段等于空的数据

    db.test.find({fieldName: {$eq:null}})

    查询sex为null的用户

    2. $exists

    $exists:表示是否存在。值为false表示不存在,值为true表示存在。

    # 查询某字段不为空的数据

    db.test.find({fieldName: {$exists:true}})

    # /查询某字段不存在的数据

    db.test.find({fieldName: {$exists:false}})

    查询出一个集合 test 中 type 为空的记录

    db.getCollection('test').find({type: {$in:[null]}})

    或者直接使用下面的查询

    db.getCollection('test').find({type: null})

    也可以在字段上加上 $exists:true

    db.getCollection('test').find({type:{$in:[null],$exists:true}})

    查询 type 值不为空时(not null )也可以使用 $ne:null

    db.getCollection("test").find({type:{$ne:null}})

    注意:$exists 无法利用到索引, 但 $ne 和 $in 可以用上索引, 所以处于性能的考虑尽可能用 $ne:null,当然前提是你的字段上有索引。

    相关文章

      网友评论

          本文标题:【mongoDB】mongoDB 中查询字段为空或非空的集合

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