技術乾貨| MongoDB如何查詢Null或不存在的字段?

在MongoDB中不同的查詢操作符對於null值處理方式不同。

本文提供了使用mongo shell中的db.collection.find() 方法查詢null值的操作案例。案例中使用的inventory集合數據可以通過下面的語句產生。

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

等值匹配

當使用{item:null}作爲查詢條件的時候,返回的是item字段值爲null的文檔或者不包含item字段的文檔。

db.inventory.find( { item: null } )

該查詢返回inventory集合中的所有文檔。

類型檢查

當使用{item:{$type:10}}作爲查詢條件的時候,僅返回item字段值爲null的文檔。item字段的值是BSON TYPE NULL(type number 10)。

db.inventory.find( { item : { $type: 10 } } )

該查詢僅返回item字段值爲null的文檔。

存在檢查

當使用{item:{$exists:false}}作爲查詢條件的時候,返回不包含item字段的文檔。

db.inventory.find( { item : { $exists: false } } )

該查詢僅返回不包含item字段的文檔。

原文鏈接:

https://www.mongodb.com/docs/manual/tutorial/query-for-null-fields/

關於作者:張芷嘉

MongoDB中文用戶文檔·CRUD操作章節負責人

喜歡跑步,做飯,睡覺,出門三公里就困。使用MongoDB兩年,倍感絲滑。

社區招募

爲了讓社區組委會成員和志願者朋友們靈活參與,同時我們爲想要深度參與社區建設的夥伴們開設了“招募通道”,如果您想要在社區裏面結交志同道合的技術夥伴,想要通過在社區沉澱有價值的乾貨內容,想要一個展示自己的舞臺,提升自身的技術影響力,即刻加入社區貢獻隊伍~ 點擊鏈接提交申請:
http://mongoingmongoing.mikecrm.com/CPDCj1B

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章