当字段值为数组时,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" ] }
广告