Mongo: find items that don't have a certain field

后端 未结 2 1942
情话喂你
情话喂你 2020-12-07 15:09

How to search for documents in a collection that are missing a certain field in MongoDB?

相关标签:
2条回答
  • 2020-12-07 15:49

    If you don't care if the field is missing or null (or if it's never null) then you can use the slightly shorter and safer:

    db.things.find( { a : null } ); // return if a is missing or null
    

    It's safer because $exists will return true even if the field is null, which often is not the desired result and can lead to an NPE.

    0 讨论(0)
  • 2020-12-07 16:09

    Yeah, it's possible using $exists:

    db.things.find( { a : { $exists : false } } ); // return if a is missing
    

    When is true, $exists matches the documents that contain the field, including documents where the field value is null. If is false, the query returns only the documents that do not contain the field.

    0 讨论(0)
提交回复
热议问题