MongoDB查询以从文档中获取特定名称列表,其中字段的值为数组

为此,请使用$ all。的$所有操作者选择的文件,其中一个字段的值是包含所有指定元素的数组。让我们创建一个包含文档的集合-

> db.demo642.insertOne(
...    {
...       _id:1,
...       ListOfNames:["Robert","John"]
...    }
... );
{ "acknowledged" : true, "insertedId" : 1 }
> db.demo642.insertOne( { _id:2, ListOfNames:["Robert","Chris"] } );
{ "acknowledged" : true, "insertedId" : 2 }

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

> db.demo642.find();

这将产生以下输出-

{ "_id" : 1, "ListOfNames" : [ "Robert", "John" ] }
{ "_id" : 2, "ListOfNames" : [ "Robert", "Chris" ] }

以下是从字段的值为数组的文档中获取名称的特定列表的查询-

> db.demo642.find({ListOfNames: {
...    $all: [ "Chris", "Robert" ]
... }})

这将产生以下输出-

{ "_id" : 2, "ListOfNames" : [ "Robert", "Chris" ] }