当字段值为数组时,MongoDB 查询可从文档中获取特定名称列表


为此,请使用 $all。 $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" ] }

于以下时间更新: 12-May-2020

221 次浏览

踏上 职业的征程

完成课程即可获得认证

开始学习
广告