繁体   English   中英

mongodb 中的 UpdateMany 使用其他字段的值

[英]UpdateMany in mongodb using value of other field

我在 mongodb 中有这个文件:

_id:“xxxx”,“时间戳”:ISODate(“2022-03-26T10:33:47.738Z”)

我想创建一个迁移,将时间戳复制到 timestamp2 字段。 像这样的东西:

db.task.updateMany(
  { "timestamp2": { $exists: false } },
  { $set: { "timestamp2": $timestamp }}
)

因此,如果文档 1 的时间戳为 2022-03-26T10:33:47.738Z,则其时间戳 2 将相同(2022-03-26T10:33:47.738Z)。 如果文档 2 有 2021-03-26T10:33:47.738Z 作为时间戳,它的时间戳 2 将是相同的 (2021-03-26T10:33:47.738Z) 我该如何实现? 谢谢

这就是我最终使用的:

module.exports = {
async up(db, client) {
    await db.collection('task').updateMany(
      { timestamp2: { $exists: false }},
      [ { $set: { timestamp2: "$timestamp" } } ]
    )
  },

  async down(db, client) {
    // Not possible to rollback updateMany
  }
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM