使用每个文档中的值更新集合中的所有日期

update all dates in collection using the value in each document

所以我遇到了一些代码的问题,我有一个不可预测的日期。我已经修复了代码,但我想修复数据集。

我需要获取列的日期部分并对其进行更新以删除时间部分(可以是午夜,也可以是默认值)。

我有这个代码:

db.rawDayForceEmployeeStatus.update({}
    ,{
        $set:{"dateOfStateCapture": {$dateToString:
                                                {
                                                 format: "%Y-%m-%d",
                                                 date: "dateOfStateCapture"
                                                }}
            
        }
    }

我想将“$dateToString”函数包装在 'new ISODate( )' 语句中,但系统似乎不喜欢那样。 “

我确定我只是在破坏我正在尝试做的事情的语法。我很确定我将日期设置为等于文字“dateOfStateCapture”,而不是我打算指向的日期。

如何获取此字段中的日期,对其进行修改,然后将其放回我想要的位置?

编辑:

这就是我的想法。这仍然不会 运行,但我希望这表达了我正在尝试做的事情:

db.rawDayForceEmployeeStatus.updateMany({},
                                    {$set:
                                        {  
                                            "dateOfStateCapture": new ISODate(
                                             {$dateToString: 
                                                  { format: "%Y-%m-%d", 
                                                    date: "dateOfStateCapture"},
                                             }),
                                        }
                                    })
db.rawDayForceEmployeeStatus.updateMany(
  {},
  [
    { "$set": 
      {"dateOfStateCapture": 
        {"$dateToString":
          {
            format: "%Y-%m-%d",
            date: "$dateOfStateCapture"
          }
        }
      }
    }
  ]
)

$dateOfStateCapture $ 使用字段值