【发布时间】:2020-12-13 03:18:42
【问题描述】:
我的猫鼬模式定义如下。
mongoose.Schema({
"url": String,
"translations": [
{
"targetLang": String,
"source": String,
"target": String
}
],
}, { versionKey: false });
我更新了架构以包含 createdAt 和 updatedAt,新架构如下所示:
mongoose.Schema({
"url": String,
"translations": [
{
"targetLang": String,
"source": String,
"target": String,
"createdAt": { type: Date, default: Date.now },
"updatedAt": { type: Date, default: Date.now }
}
],
}, { versionKey: false });
因此,当创建新文档时,createdAt 和 updatedAt 会按预期自动填充。如何使用新密钥 createdAt 和 updatedAt 获取旧文档。有什么办法吗?
注意:我可以将旧文档保留为当前日期或之前的任何日期。但我希望他们都有个约会。
【问题讨论】:
-
可以查看这个问题的答案,从文档的ObjectId中提取创建日期:stackoverflow.com/questions/7327296/…
-
@makmonty 我可以接受旧文档有任何旧日期,而不必寻找确切的创建日期,因为数组会被更新多次。
-
我认为用一个命令是不可能的,你必须编写一些脚本来实现这一点。
标签: javascript node.js mongodb mongoose database-schema