簡體   English   中英

如何在Mongodb的嵌入文檔中添加新文檔

[英]How to add new document in an embedded document in Mongodb

我有一個存儲員工姓名和工資詳細信息的文檔。 該文檔存儲每個月的工資詳細信息。 請注意,“Employee_Salary”字段不是數組。 這是我的文件。

{
    "_id" : 5.0000000000000000,
    "Employee_Name" : "John Karrl",    
    "Employee_Salary" : {    
        "April-2015" : { 
            "actual_salary" : 300,
            "bonus" : 0,
            "penalty" : 0,
            "bonus_pen_detail" : "NA",
            "month_paid" : "April",
            "year_paid" : 2015,
            "total_amount_paid" : 300
        }
   }
}

現在我想更新此文檔以插入或添加下個月(即 2015 年 5 月)的新工資詳細信息。 我曾嘗試使用 '$push' 命令,但它不起作用並給我以下錯誤。

'字段'Employee_Salary' 必須是一個數組,但在文檔{_id: 5.0} 中屬於對象類型。

$push只能應用於數組元素。 由於Employee_Salary是一個對象,因此您必須執行$set操作,如下所示:

db.employee.update(
  {_id: 5.0},
  {$set: {
    'Employee_Salary.May-2015': {
       "actual_salary" : 300,
       "bonus" : 0,
       "penalty" : 0,
       "bonus_pen_detail" : "NA",
       "month_paid" : "May",
       "year_paid" : 2015,
       "total_amount_paid" : 300
     }
   }}
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM