在一个MongoDB文档中获取两个数组中的唯一值

要在文档的两个数组中获取唯一值,请在aggregate()中使用$setUnion。的$setUnion采用两个或多个阵列,并返回包含出现在任何输入数组元素的数组。

让我们创建一个包含文档的集合-

>db.demo608.insertOne({"ListOfName1":["John","Chris","Bob","David"],"ListOfName2":["Bob", "Sam","John","Robert","Chris"]}

... );

{

   "acknowledged" : true,

   "insertedId" : ObjectId("5e974542f57d0dc0b182d62b")

}

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

> db.demo608.find().pretty();

这将产生以下输出-

{

   "_id" : ObjectId("5e974542f57d0dc0b182d62b"),

   "ListOfName1" : [

      "John",

      "Chris",

      "Bob",

      "David"

   ],

   "ListOfName2" : [

      "Bob",

      "Sam",

      "John",

      "Robert",

      "Chris"

   ]

}

以下是查询以在一个MongoDB文档中的两个数组中获取唯一值-

> db.demo608.aggregate([

...    {$project:{SetOfNames:{$setUnion:['$ListOfName1','$ListOfName2']}}}

... ]).pretty();

这将产生以下输出-

{

   "_id" : ObjectId("5e974542f57d0dc0b182d62b"),

   "SetOfNames" : [

      "Bob",

      "Chris",

      "David",

      "John",

      "Robert",

      "Sam"

   ]

}

以上是 在一个MongoDB文档中获取两个数组中的唯一值 的全部内容, 来源链接: utcz.com/z/338607.html

回到顶部