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

MongoDB中文社群發表於2022-05-07

在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欄位的文件。


相關文件

$type

$exists

原文連結:


關於作者:張芷嘉

MongoDB中文使用者文件·CRUD操作章節負責人

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


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


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69961190/viewspace-2892858/,如需轉載,請註明出處,否則將追究法律責任。

相關文章