我需要每年更改publishDate字段,如下面的json所示,但需要更改集合中的所有文档。只有一年。我需要从2019更改为2020。可以通过mongo java脚本吗?

    "urlHash": "-04020C193570E4B16326",
    "isDraft": true,

    "publishDate": {
      "$date": "2019-09-14T02:58:55.000Z"
    },
    "description": "",
    "mediaId": 16698520,

最佳答案

您可以使用
db.collection.find()。forEach(){col.update()}

dbName.collectionName.find().forEach( (doc) => {

 let date = doc.publishDate

 db.collectionName.update(
          {_id: doc._id},
          {$set: {
                 publishDate: new Date(
                                       date.getYear()+1,
                                       date.getMonth(),
                                       date.getDay(),
                                       date.getHours(),
                                       date.getMinutes(),
                                       date.getSeconds(),
                                       date.getMilliseconds()
                                       )
                  }
           })})

关于javascript - 从json mongo仅替换年份isoDate,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60859239/

10-12 15:59