我需要进行一次性批量更新,并为不具有signupDate
字段的集合设置reminders[0].start
,这是这些文档确实具有的日期。文件可能如下:
{
"_id" : ObjectId("545147655ce9ec369b8fa9bf"),
"reminder" : [{
"start" : ISODate("2014-11-01T04:00:00Z"),
"_id" : ObjectId("545147401f60bac766304334")
}],
}
因此,对于本文档,我需要signupDate
为ISODate("2014-11-01T04:00:00Z")
。
我可以编写一个node.js脚本来查找没有signupDate
的文档并单独更新它们,但是从shell编写一个查询会很好。
我发现我认为有一种findAndModify
方法看起来有点像:
db.collection.findAndModify({
query: {signupDate: {$exists:false}},
update: {signupDate: "?"}
});
如果可能的话,只是不确定如何为同一文档获取reminders[0].start
的值。