合并 MongoDB 中的两个数组字段?


要合并,使用 $setUnion 运算符。让我们首先创建一个包含文档的集合 -

> db.mergeTwoArrayFieldDemo.insertOne({"NaturalNumbers":[1,2,3,8,10,20,30],"WholeNumbers":[0,1,2,63,78,20,45]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd68e4057806ebf1256f11d")
}

以下是使用 find() 方法从集合显示所有文档的查询 -

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

这将产生以下输出 -

{
   "_id" : ObjectId("5cd68e4057806ebf1256f11d"),
   "NaturalNumbers" : [
      1,
      2,
      3,
      8,
      10,
      20,
      30
   ],
   "WholeNumbers" : [
      0,
      1,
      2,
      63,
      78,
      20,
      45
   ]
}

以下是合并 MongoDB 中两个数组字段的查询。

> db.mergeTwoArrayFieldDemo.aggregate([
   { "$project": {
      "MergedArray": { "$setUnion": [ "$NaturalNumbers", "$WholeNumbers" ] }
   }}
]);

这将产生以下输出 -

{ "_id" : ObjectId("5cd68e4057806ebf1256f11d"), "MergedArray" : [ 0, 1, 2, 3, 8, 10, 20, 30, 45, 63, 78 ] }

更新于: 2019-7-30

608 次浏览

开启你的 职业生涯

通过完成本课程获得认证

开始
广告