如何在mongodb中更新子文档?

时间:2018-10-05 16:31:32

标签: mongodb mongodb-query

我已经使用数组功能创建了一个集合。找到以下代码。

db.timeintimeout.insert({
time_in_time_out_id: 1,
employee_id : 1,
date : new Date(),
timing_details : [{ var: "temp",
time_in : new Date(),
time_out : new Date(),
type: "working hours"}],
active_flag : 1,
created_by : " ",
create_date: new Date(),
modified_by : " ",
modified_date: new Date()
})

创建记录后,我选择了一个唯一的ID var = temp并编写了更新查询。

db.timeintimeout.update({"employee_id" : 1,"timing_details" : [{"var" : "temp"}]}, {$set: {"timing_details" : [{"var" : "org","time_out" : new Date()}]}})

它显示错误。请找到所附的屏幕快照以供参考。

mongodb update query error

当我使用子文档唯一代码var = temp并编写更新查询时,它显示错误。请帮帮我。

1 个答案:

答案 0 :(得分:0)

db.timeintimeout.update({
    "employee_id": 1,
    "timing_details": {
        $elemMatch: {
            var: 'temp'
        }
    }
}, {
    $set: {
        "timing_details.$.var": "org",
        "timing_details.$.time_out": new Date()
    }
})