[MongoDB]How do I query for fields that have null values?

來源:互聯網
上載者:User

{column:null}:結果為column的值為null或記錄不包含column欄位的資料;

{column:{$type:10}}:結果為記錄包含column欄位且值是null的資料;

{column:{$exists:false}}:結果為記錄不包含column欄位的資料;

Fields in a document may store null values, as in a notional collection, test, with the following documents:

{ _id: 1, cancelDate: null }{ _id: 2 }

Different query operators treat null values differently:

  • The { cancelDate : null } query matches documents that either contains the cancelDate field whose value is null or that do not contain the cancelDate field:

    db.test.find( { cancelDate: null } )

    The query returns both documents:

    { "_id" : 1, "cancelDate" : null }{ "_id" : 2 }
  • The { cancelDate : { $type: 10 } } query matches documents that contains the cancelDate field whose value is null only; i.e. the value of the cancelDate field is of BSON Type Null (i.e. 10) :

    db.test.find( { cancelDate : { $type: 10 } } )

    The query returns only the document that contains the null value:

    { "_id" : 1, "cancelDate" : null }
  • The { cancelDate : { $exists: false } } query matches documents that do not contain the cancelDate field:

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

    The query returns only the document that does not contain the cancelDate field:

    { "_id" : 2 }

另見

 

The reference documentation for the $type and $exists operators.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.