【发布时间】:2016-12-01 23:38:57
【问题描述】:
我的应用程序使用 Mongoose,并且有一个使用 timestamps option 的架构:
var fooSchema = new Schema({
name: String,
}, {
timestamps: true,
});
mongoose.model('Foo', fooSchema);
因此,每当将更新写入集合时,updatedAt 属性就会更改为当前日期。但现在我想添加一些不应该更新updatedAt 属性的更改。
Stackoverflow (example) 上的一些答案建议使用Foo.collection,因为它据称会访问本机 MongoDB 驱动程序。所以我尝试了这个:
Foo.collection.update({ _id: someFooId }, { $set: { name: 'New Name' } });
但是,这也改变了 updatedAt 属性。
那么如何在不更改updatedAt 的情况下更新文档?
【问题讨论】:
-
我也有同样的问题。你有没有找到解决方案/解决方法?
-
@danii 不,很遗憾没有。我删除了时间戳中间件并在必要时手动更新时间戳。
标签: node.js mongodb mongoose mongoose-schema