MongoDB查询完全匹配

对于完全匹配,可以使用$exists检查匹配。让我们创建一个包含文档的集合-

> db.demo290.insertOne({"ListOfName":"Chris"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e4c0c9e5d93261e4bc9ea2d")
}
> db.demo290.insertOne({"ListOfName":["Chris","David"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e4c0cb05d93261e4bc9ea2e")
}

find()方法的帮助下显示集合中的所有文档-

> db.demo290.find();

这将产生以下输出-

{ "_id" : ObjectId("5e4c0c9e5d93261e4bc9ea2d"), "ListOfName" : "Chris" }
{ "_id" : ObjectId("5e4c0cb05d93261e4bc9ea2e"), "ListOfName" : [ "Chris", "David" ] }

这是一个值的精确匹配的查询-

> db.demo290.find({$and: [{'ListOfName.0': {$exists: false}}, {"ListOfName": 'Chris'}]});

这将产生以下输出-

{ "_id" : ObjectId("5e4c0c9e5d93261e4bc9ea2d"), "ListOfName" : "Chris" }