Jua*_*tes 11 mongoose mongodb node.js
我在mongoose中有以下消息模式:
var messageSchema = mongoose.Schema({
userID: { type: ObjectId, required: true, ref: 'User' },
text: { type: String, required: true }
},
{
timestamps: true
});
Run Code Online (Sandbox Code Playgroud)
无论如何都要忽略updatedAt时间戳?消息不会更新,因此updatedAt将浪费空间
rob*_*ten 22
也许用Mongoose v5更好的是做以下事情;
const schema = new Schema({
// Your schema...
}, {
timestamps: { createdAt: true, updatedAt: false }
})
Run Code Online (Sandbox Code Playgroud)
cyb*_*bat 21
编辑我修改了答案,以反映使用@JohnnyHK默认值的更好选项
您可以通过createdAt
在模式中声明(或任何您想要调用它)来自行处理:
mongoose.Schema({
created: { type: Date, default: Date.now }
...
Run Code Online (Sandbox Code Playgroud)
或者,我们也可以在预保存挂钩中更新新文档的值:
messageSchema.pre('save', function (next) {
if (!this.created) this.created = new Date;
next();
})
Run Code Online (Sandbox Code Playgroud)
沿着这些线也是标志isNew,您可以使用它来检查文档是否是新的.
messageSchema.pre('save', function (next) {
if (this.isNew) this.created = new Date;
next();
})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9803 次 |
最近记录: |