是的,MongoDB可以轻松索引空值。首先让我们创建一个包含文档的集合-
> db.demo170.createIndex({"Value":1},{unique:true});
{
"createdCollectionAutomatically" : true,
"numIndexesBefore" : 1,
"numIndexesAfter" : 2,
"ok" : 1
}
> db.demo170.insert({"Value":100});
WriteResult({ "nInserted" : 1 })
> db.demo170.insert({"Value":null});
WriteResult({ "nInserted" : 1 })
> db.demo170.insert({"Value":90});
WriteResult({ "nInserted" : 1 })
> db.demo170.insert({"Value":78});
WriteResult({ "nInserted" : 1 })在find()方法的帮助下显示集合中的所有文档-
> db.demo170.find();
这将产生以下输出-
{ "_id" : ObjectId("5e369b789e4f06af551997da"), "Value" : 100 }
{ "_id" : ObjectId("5e369b7c9e4f06af551997db"), "Value" : null }
{ "_id" : ObjectId("5e369b809e4f06af551997dc"), "Value" : 90 }
{ "_id" : ObjectId("5e369b969e4f06af551997dd"), "Value" : 78 }以下是索引null的查询-
> db.demo170.find().sort({Value:1});这将产生以下输出-
{ "_id" : ObjectId("5e369b7c9e4f06af551997db"), "Value" : null }
{ "_id" : ObjectId("5e369b969e4f06af551997dd"), "Value" : 78 }
{ "_id" : ObjectId("5e369b809e4f06af551997dc"), "Value" : 90 }
{ "_id" : ObjectId("5e369b789e4f06af551997da"), "Value" : 100 }