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