我有像这样的猫鼬模式:
let PictureSchema = mongoose.Schema({
...
...
}, {timestamps: true})
PictureSchema.index({"createdAt": 1});
PictureSchema.index({"updatedAt": 1});
我试图获取字段" createdAt "和" updatedAt "索引。使用时
PictureSchema.index({"createdAt": 1});
PictureSchema.index({"updatedAt": 1});
它不起作用,除了" _id _"之外的所有其他索引。也停止工作。
我通过使用像这样的mongoose-timestamp插件获得了这种工作的变体:
PictureSchema.plugin(timestamps, {
createdAt: {
name: 'createdAt',
type: Date,
index: true
},
updatedAt: {
name: 'updatedAt',
type: Date,
index: true
}
})
但我对这个插件的问题是它没有记录UTC时间而是系统时间。我的问题的一个修复也是让mongoose-timestamp记录UTC时间,但最好我更喜欢索引内置时间戳提供的字段。
答案 0 :(得分:0)
结果
PictureSchema.index({"createdAt": 1});
PictureSchema.index({"updatedAt": 1});
完美无缺。不得不重启数据库服务器几次以使其正常工作。
想知道为什么会这样?