合併 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 次瀏覽

開啟你的 職業生涯

透過完成本課程獲得認證

開始
廣告