2012-09-19 512 views

回答

192

here

versionKey的是在每個文件設定的第一通過貓鼬創建 時的特性。此鍵值包含 文檔的內部修訂版。此文檔屬性的名稱是可配置的。 默認爲__v

如果這與你的應用程序衝突,您可以配置爲這樣:

new Schema({..}, { versionKey: '_somethingElse' }) 
+7

是否可以安全使用此道具以確定文檔是否剛創建(例如, '__v === 0')? –

+18

@ExplosionPills供將來參考:沒有。版本密鑰只會在可能導致衝突的操作之後遞增,修改陣列位置。其他更新不會增加它。原始發佈文章詳細解釋了它:http://aaronheckmann.tumblr.com/post/48943525537/mongoose-v3-part-1-versioning –

+2

有沒有辦法將它從查詢中返回的文檔中隱藏起來? – diosney

33

好了,我不能看到託尼的解決方案...所以我必須處理它自己...


如果不version_key需要,你可以:

var UserSchema = new mongoose.Schema({ 
    nickname: String, 
    reg_time: {type: Date, default: Date.now} 
}, { 
    versionKey: false // You should be aware of the outcome after set to false 
}); 
+12

將它設置爲false的結果是什麼? – xperator

+5

@xperator看到這裏→http://mongoosejs.com/docs/guide.html#versionKey –

+0

您也可以撥打'resultFromMongo.toObject({versionKey:假})',以surppress值。 –