2017-04-09 153 views
0

我有一個貓鼬的模式,像這樣:索引貓鼬時間戳

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_」之外的所有其他索引也停止工作。

我得到這個工作的變化,通過使用貓鼬時間戳插件像這樣:

PictureSchema.plugin(timestamps, { 
    createdAt: { 
    name: 'createdAt', 
    type: Date, 
    index: true 
    }, 
    updatedAt: { 
    name: 'updatedAt', 
    type: Date, 
    index: true 
    } 
}) 

但是我有這個插件的問題是,它不記錄UTC時間,但系統時間。對我的問題的一個修復也將獲得貓鼬時間戳來記錄UTC時間,但最好我寧願索引由內置時間戳提供的字段。

回答

0

原來

PictureSchema.index({"createdAt": 1}); 
PictureSchema.index({"updatedAt": 1}); 

完美的作品。不得不重新啓動數據庫服務器幾次以使其工作。

想知道爲什麼呢?