簡體   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