是否需要设置一个特定的设置才能让mongoose在模型工作下面进行此操作?
// 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
})

当我第一次运行它时,它对我有用,但它会保存另一个条目,它不会更新新条目中的时间,它会保留旧时间,只要相同的服务器实例是运行
我试过了: 删除newEntry 代码运行后
所以似乎服务器追逐新的Date并在每个条目上使用它 mongoose文档告诉我,我正在做这件事,以及许多其他帖子。 http://mongoosejs.com/docs/defaults.html
那我在这里做错了什么? 我当然知道许多变通方法,但您希望您的模型能够自动化。 非常感谢帮助,提前谢谢!
答案 0 :(得分:3)
好吧,回答你自己的问题有点蹩脚......这很奇怪但它现在开始工作了。
我更新了猫鼬(我不知道这与它有什么关系)
我还删除了: 删除newEntry 所以这似乎是多余的
然而,这次似乎已经有效了
created_on: {
type: Number,
// Changing Date.now() to Date.now did the trick this time around
default: Date.now,
},

所以我只将Date.now()更改为Date.now,顺便说一下,我之前已经尝试过了...所以也许mongoose更新有所不同? 如果有人知道为什么会这样,请告诉我。
由于