MongoDB(14)- 查詢 null 字段或缺少某個字段的文檔


插入測試數據

db.inventory.insertMany([
   { _id: 1, item: null },
   { _id: 2 }
])

后面的栗子都會用到這里的測試數據

 

查詢匹配包含值為 null 的 item 字段或不包含 item 字段的文檔

> db.inventory.find( { item: null } )
{ "_id" : 1, "item" : null }
{ "_id" : 2

如果我想單獨的把字段值有 null 的文檔找出來或者把沒有 item 字段的文檔找出來呢?

 

只查詢包含值為 null 的 item 字段

> db.inventory.find( { item : { $type: 10 } } )
{ "_id" : 1, "item" : null }

還記得嗎,在 BSON 數據類型里面,null 的序號是 10

 

只查詢不包含 item 字段的文檔

> db.inventory.find({ item :{ $exists : false } })
{ "_id" : 2 }

 

只查詢包含 item 字段的文檔

> db.inventory.find({ item :{ $exists : true } })
{ "_id" : 1, "item" : null }

記住如果想查詢不包含/包含某個字段的文檔,是用 $exists 操作符哦

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM