从另一个字段中的值更新文档字段

时间:2014-11-18 14:59:54

标签: mongodb

我需要进行一次性批量更新,并为不具有signupDate字段的集合设置reminders[0].start,这是这些文档确实具有的日期。文件可能如下:

{
  "_id" : ObjectId("545147655ce9ec369b8fa9bf"),
  "reminder" : [{
    "start" : ISODate("2014-11-01T04:00:00Z"),
    "_id" : ObjectId("545147401f60bac766304334")
  }],
}

因此,对于本文档,我需要signupDateISODate("2014-11-01T04:00:00Z")

我可以编写一个node.js脚本来查找没有signupDate的文档并单独更新它们,但是从shell编写一个查询会很好。

我发现我认为有一种findAndModify方法看起来有点像:

db.collection.findAndModify({
    query: {signupDate: {$exists:false}},
    update: {signupDate: "?"}
});

如果可能的话,只是不确定如何为同一文档获取reminders[0].start的值。

0 个答案:

没有答案