使用foreach的javascript更新mongoDB文档

使用foreach的javascript更新mongoDB文档,javascript,mongodb,Javascript,Mongodb,我的mongoDB数据库中有此文档/对象,我将更新containerType和scheduleContainerTypeEnums从加班池到空闲时间。 因此,我试着这样做: db.ScheduleRecordMonthCompendiumConfirmation.find().forEach(function (doc) { doc.scheduleRecordDayCompendiums.forEach(function (sch) { sch.confirmed

我的mongoDB数据库中有此文档/对象,我将更新containerTypescheduleContainerTypeEnums加班池空闲时间。 因此,我试着这样做:

db.ScheduleRecordMonthCompendiumConfirmation.find().forEach(function (doc) {    
    doc.scheduleRecordDayCompendiums.forEach(function (sch) {
       sch.confirmedScheduleIntervalContainers.forEach(function (c) {
           if (c.containerType === "OVERTIME_POOL") {
               c.containerType = "ADDITIONAL_HOURS";                       
            }
        }
    });
db.ScheduleRecordMonthCompendiumConfirmation.save(doc);
});
但是没有成功。有人知道我做错了什么吗

{
"_id" : ObjectId("57f283d4e4b039723ca44d64"),
"_class" : "mydomain.MyClass",
"scheduleRecordDayCompendiums" : [  
    {
        "_id" : null,
        "institutionUserConnectionId" : "57127240e4b0f77e64ea560e",         
        "confirmedScheduleIntervalContainers" : [
            {
                "_id" : null,
                "containerType" : "OVERTIME_POOL",              
            }           
        ],
        "scheduleContainerTypeEnums" : [
            "OVERTIME_POOL"
        ],
        ...

您的javascript结构不正确。
doc.scheduleRecordDayCompendiums.forEach

db.ScheduleRecordMonthCompendiumConfirmation.find().forEach(function (doc) {    
    doc.scheduleRecordDayCompendiums.forEach(function (sch) {
       sch.confirmedScheduleIntervalContainers.forEach(function (c) {
           if (c.containerType === "OVERTIME_POOL") {
               c.containerType = "ADDITIONAL_HOURS";                       
            }
        })
    });
 db.ScheduleRecordMonthCompendiumConfirmation.save(doc);
});

在将文档保存到数据库之前,是否可以尝试打印
文档
;但是没有打印任何内容否,未打印任何内容:-(我不知道,它似乎正确,但不起作用,并且没有输出
db.ScheduleRecordMonthCompendiumConfirmation.find().forEach(function (doc) {    
    doc.scheduleRecordDayCompendiums.forEach(function (sch) {
       sch.confirmedScheduleIntervalContainers.forEach(function (c) {
           if (c.containerType === "OVERTIME_POOL") {
               c.containerType = "ADDITIONAL_HOURS";                       
            }
        })
    });
 db.ScheduleRecordMonthCompendiumConfirmation.save(doc);
});