我们将在此处使用Null类型。以下是具有别名的空类型-
类型 | 数 | 别名 |
---|---|---|
双 | 1 | “双” |
串 | 2 | “串” |
目的 | 3 | “目的” |
数组 | 4 | “数组” |
二进制数据 | 5 | “ binData” |
未定义 | 6 | “未定义” |
对象编号 | 7 | “ objectId” |
布尔型 | 8 | “布尔” |
日期 | 9 | “日期” |
空值 | 10 | “空值” |
正则表达式 | 11 | “正则表达式” |
以下是类型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 }