如何在 MongoDB 中推送陣列?


若要推送一個數組,請在 MongoDB 中使用 $push。我們首先使用文件建立一個集合 -

> db.demo399.insertOne({Name:"Chris",Age:21});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e610339fac4d418a017856d")
}
> db.demo399.insertOne({Name:"David",Age:22});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e610341fac4d418a017856e")
}
> db.demo399.insertOne({Name:"Chris",Age:21});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e610355fac4d418a017856f")
}
> db.demo399.insertOne({Name:"Bob",Age:23});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e61035efac4d418a0178570")
}
> db.demo399.insertOne({Name:"David",Age:22});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e610364fac4d418a0178571")
}

使用 find() 方法從集合中顯示所有文件 -

> db.demo399.find();

這會產生以下輸出 -

{ "_id" : ObjectId("5e610339fac4d418a017856d"), "Name" : "Chris", "Age" : 21 }
{ "_id" : ObjectId("5e610341fac4d418a017856e"), "Name" : "David", "Age" : 22 }
{ "_id" : ObjectId("5e610355fac4d418a017856f"), "Name" : "Chris", "Age" : 21 }
{ "_id" : ObjectId("5e61035efac4d418a0178570"), "Name" : "Bob", "Age" : 23 }
{ "_id" : ObjectId("5e610364fac4d418a0178571"), "Name" : "David", "Age" : 22 }

以下是推送陣列的查詢 -

> db.demo399.aggregate(
...    [
...       {
...          $group:
...          {
...             _id: null,
...             array: { $push: { Name: "$Name", Age: "$Age" } }
...          }
...       }
...    ]
... )

這會產生以下輸出 -

{ "_id" : null, "array" : [ { "Name" : "Chris", "Age" : 21 }, { "Name" : "David", "Age" : 22 }, { "Name" : "Chris", "Age" : 21 }, { "Name" : "Bob", "Age" : 23 }, { "Name" : "David", "Age" : 22 } ] }

更新於:2020 年 4 月 3 日

438 次瀏覽

開啟你的 職業生涯

完成課程以獲得認證

開始
廣告