在 MongoDB 中插入所有現有欄位並向文件中新增新的欄位?


藉助 $addFields 運算子,可以實現這一點。為了理解該概念,讓我們使用該文件建立一個集合。建立包含文件的集合的查詢如下 −

> db.addFieldDemo.insertOne({"EmployeeId":101,"EmployeeName":"Larry","EmployeeDetails":{
   "EmployeeSalary":65000,"EmployeeCity":"New York","Message":"Hi"}});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c7f654d8d10a061296a3c44")
}

藉助 find() 方法從集合中顯示所有文件。查詢如下 −

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

以下為輸出 −

{
   "_id" : ObjectId("5c7f654d8d10a061296a3c44"),
   "EmployeeId" : 101,
   "EmployeeName" : "Larry",
   "EmployeeDetails" : {
      "EmployeeSalary" : 65000,
      "EmployeeCity" : "New York",
      "Message" : "Hi"
   }
}

以下是在 MongoDB 中插入所有現有欄位並向文件中新增新的欄位的查詢 −

> db.addFieldDemo.aggregate([ { "$addFields": { "EmployeeBasicSalary":"$EmployeeDetails.EmployeeSalary" } } ]).pretty();

以下為輸出 −

{
   "_id" : ObjectId("5c7f654d8d10a061296a3c44"),
   "EmployeeId" : 101,
   "EmployeeName" : "Larry",
   "EmployeeDetails" : {
      "EmployeeSalary" : 65000,
      "EmployeeCity" : "New York",
      "Message" : "Hi"
   },
   "EmployeeBasicSalary" : 65000
}

檢視示例輸出,已新增 “EmployeeBasicSalary”。

更新於: 2019 年 7 月 30 日

361 次檢視

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告