【发布时间】:2018-07-05 18:49:49
【问题描述】:
您是否需要设置特定设置才能让猫鼬在下面的模型中正常工作?
// The Model
let theModelSchema = new Schema({
created_on: {
// type: Date, // Either Date or Number
type: Number,
default: Date.now(), // have also tried Date.now
},
})
let TheModel = mongoose.model('TheModel', theModelSchema)
// Save first entry
let newEntry = new TheModel({
value: 'randomValues here'
})
// The default date will be for example 123 here
newEntry.save(function(err, savedNewEntry){
console.log(savedNewEntry.created_on) // 123
})
// Save second entry a little bit later
newEntry = new TheModel({
value: 'randomValues here'
})
// The default date should be 125(or whatever)
// But for some reason it stays as 123 and only updates // // when the server restats
newEntry.save(function(err, savedNewEntry){
console.log(savedNewEntry.created_on) // still 123, should be different
})
当我第一次运行它时它对我有用,但它会保存另一个条目,它不会更新新条目中的时间,它会保留旧时间,只要相同的服务器实例正在运行。
我尝试过: 删除新条目 代码运行后
因此,服务器似乎对新日期进行了查询并在每个条目上使用它 猫鼬文档告诉我我做得对,以及许多其他帖子。 http://mongoosejs.com/docs/defaults.html
那么我在这里做错了什么? 我当然知道很多变通方法,但是您希望您的模型能够自动化。 非常感谢您的帮助,在此先感谢!
【问题讨论】:
-
它不会更新同一个文档,它会使用新的日期创建新的文档。
标签: javascript node.js mongodb mongoose timestamp