如何檢查 MongoDB 中的空值?
這裡我們將使用 Null 型別。以下是別名的空值型別 −
| 型別 | 數字 | 別名 |
|---|---|---|
| 雙精度 | 1 | “double” |
| 字串 | 2 | “string” |
| 物件 | 3 | “object” |
| 陣列 | 4 | “array” |
| 二進位制資料 | 5 | “binData” |
| 未定義 | 6 | “undefined” |
| ObjectId | 7 | “objectId” |
| 布林值 | 8 | “bool” |
| 日期 | 9 | “date” |
| 空值 | 10 | “null” |
| 正則表示式 | 11 | “regex” |
以下是型別 10(即 null)的語法 −
db.yourCollectionName.find({"yourFieldName":{ $type: 10 } });上述語法僅找到具有空值的文件。讓我們首先使用文件建立一個集合 −
> db.mongoDbEqualDemo.insertOne({"Age":34});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd7e9121a844af18acdffa3")
}
> db.mongoDbEqualDemo.insertOne({"Age":""});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd7e9161a844af18acdffa4")
}
> db.mongoDbEqualDemo.insertOne({"Age":null});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd7e9191a844af18acdffa5")
}
> db.mongoDbEqualDemo.insertOne({"Age":56});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd7e91e1a844af18acdffa6")
}
> db.mongoDbEqualDemo.insertOne({});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd7e9261a844af18acdffa7")
}
> db.mongoDbEqualDemo.insertOne({"Age":null});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd7e92e1a844af18acdffa8")
}以下是使用 find() 方法顯示集合中所有文件的查詢 −
> db.mongoDbEqualDemo.find().pretty();
這將產生以下輸出 −
{ "_id" : ObjectId("5cd7e9121a844af18acdffa3"), "Age" : 34 }
{ "_id" : ObjectId("5cd7e9161a844af18acdffa4"), "Age" : "" }
{ "_id" : ObjectId("5cd7e9191a844af18acdffa5"), "Age" : null }
{ "_id" : ObjectId("5cd7e91e1a844af18acdffa6"), "Age" : 56 }
{ "_id" : ObjectId("5cd7e9261a844af18acdffa7") }
{ "_id" : ObjectId("5cd7e92e1a844af18acdffa8"), "Age" : null }以下是僅檢查是否等於空值的查詢 −
> db.mongoDbEqualDemo.find({"Age":{ $type: 10 } });這將產生以下輸出 −
{ "_id" : ObjectId("5cd7e9191a844af18acdffa5"), "Age" : null }
{ "_id" : ObjectId("5cd7e92e1a844af18acdffa8"), "Age" : null }
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP