首页 > 解决方案 > 更改猫鼬中的“updated_at”字段名称

问题描述

我有一个具有以下时间戳属性的猫鼬模式:

timestamps: { createdAt: 'created_at', updatedAt: 'updatedAt' }

这意味着集合中的文档具有“updated_at”和“created_at”字段。如果我想在 $rename 操作中将这两个字段都重命名为“createdAt”和“updatedAt”:

$rename: {
    created_at: 'createdAt',
    updated_at: 'updatedAt'
 }

...“updated_at”字段仍然存在(显然,因为我没有更改架构中的时间戳行。但是如果我已经将时间戳架构更改为该行:

timestamps: true

谁应该将 updated_at 字段设置为 updateAt,我得到一个“空 $rename 对象”错误,因为 mongoose 不再识别“updated_at”字段。

那如何才能成功完成这个字段名转换呢?

** 额外问题:在包含大量文档的集合中,此操作需要 HOURS 才能执行。有没有办法提高这个操作的速度?

标签: node.jsmongodbmongoose

解决方案


推荐阅读