【问题标题】:How to automatically add timestamps eg. createdAt/updatedAt in MongoDB nodejs driver如何自动添加时间戳,例如。 MongoDB nodejs 驱动程序中的 createdAt/updatedAt
【发布时间】:2021-08-19 21:00:06
【问题描述】:

我正在开发一个小型应用程序,我需要在默认的 Nodejs MongoDb 驱动程序中自动添加创建/更新文档的时间戳。现在,当我添加一个新文档时,它只添加了_id 字段。有没有办法强制添加createdAt/updatedAt 字段?

【问题讨论】:

  • 假设您使用的是猫鼬,请在您的 mongoose.schema 中添加 timestamps: true 选项。这将为插入的每个文档添加 createdAtupdatedAt 字段。

标签: javascript node.js mongodb


【解决方案1】:

驱动程序通常不提供此功能。 ODM 可以。在 Node 的情况下,mongoose 是一个 ODM。

【讨论】:

    【解决方案2】:

    这样创建对象时可以手动添加createdAt:

            await this.collection.insertOne({ businessAuth: _id, url, labels, createdAt: new Date()});
    

    并以这种方式更新对象时更新AT:

    video.updatedAt = new Date();
    const saved = await this.collection.findOneAndUpdate({_id: video._id}, {$set: {...video}});
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-08
      • 2018-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-24
      • 2019-10-14
      相关资源
      最近更新 更多