在 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”。
廣告