2017-08-04 20 views
0

我已經看過mongoose-sequence插件,但它可以在數量上僅格式存儲和計數器將開始從0如何通過連接Mongoose中的文本來增加計數?

我需要創建一個自定義ID(mycustomID),它是獨一無二的,如:ABCD1001。 ABCD是前綴值。我的計數器將從1001開始。

我期望通過使用schema.pre(「save」)來實現此目的。我是新來的貓鼬。有人可以提供有關如何實現此目的的任何信息?

這裏是我的架構

var bookSchema = new Schema({ 
    name: { type: String, required: true}, 
    isbn: { type: String}, 
    prefix: {type: String}, 
    mycustomID: {type: String, unique: true}, 
    author: { type: String, required: true}, 
    status: { type: Boolean, default: true }, 
    created_at: Date, 
    updated_at: Date 

}); 

回答

0

可以最後插入值從DB使用下面的命令,這樣你會得到最後的自訂取。 只需使用previousCustomId.replace(/^\D+/g, '')轉換該customId並將其增加即可。

bookSchema.find({}).sort({_id:-1}).limit(1, function(err, data) { 
    var previousCustomId = data[0].mycustomID; //Make sure it will return data object or data array 
    var currentCustomId = parseInt(previousCustomId.replace(/^\D+/g, '')) + 1; 

    //Your next entry will be here 

}) 
相關問題