如何使用MongoDB中的数组字段来匹配所有字段?

要匹配MongoDB中的全部,请使用$all。$all运算符选择文档,其中字段的值是包含所有指定元素的数组。让我们创建一个包含文档的集合-

> db.demo695.insertOne({"ListOfValues":[100,200,500,800]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea6d4c4551299a9f98c938f")
}
> db.demo695.insertOne({"ListOfValues":[1000,200,4000]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea6d4cf551299a9f98c9390")
}

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

> db.demo695.find();

这将产生以下输出-

{ "_id" : ObjectId("5ea6d4c4551299a9f98c938f"), "ListOfValues" : [ 100, 200, 500, 800 ] }
{ "_id" : ObjectId("5ea6d4cf551299a9f98c9390"), "ListOfValues" : [ 1000, 200, 4000 ] }

以下是使用数组字段并匹配所有字段的查询-

> db.demo695.find({"ListOfValues":{$all:[1000,200,4000]}});

这将产生以下输出-

{ "_id" : ObjectId("5ea6d4cf551299a9f98c9390"), "ListOfValues" : [ 1000, 200, 4000 ] }