如何使用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 ] }