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

如何在Mongodb中的嵌入式文档中添加新文档,mongodb,nosql,Mongodb,Nosql,我有一份文件,其中存储了员工的姓名和工资明细。该文档存储每个月的薪资详细信息。请注意,“Employee_Salary”字段不是数组。这是我的文件 { "_id" : 5.0000000000000000, "Employee_Name" : "John Karrl", "Employee_Salary" : { "April-2015" : { "actual_salary" : 300,

我有一份文件,其中存储了员工的姓名和工资明细。该文档存储每个月的薪资详细信息。请注意,“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'必须是数组,但在文档{u id:5.0}中属于Object类型。

$push
只能应用于数组元素。由于
Employee\u 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
     }
   }}
)