it-swarm.com.de

Was ist das "__v" -Feld in Mongoose?

Ich verwende Mongoose Version 3 mit MongoDB Version 2.2. Ich habe festgestellt, dass in meinen MongoDB -Dokumenten ein __v - Feld angezeigt wird. Hat das etwas mit der Versionierung zu tun? Wie wird es benutzt?

264
Simon Lomax

Von hier :

Das versionKey ist eine Eigenschaft, die für jedes Dokument festgelegt wird, wenn es zum ersten Mal von Mongoose erstellt wird. Dieser Schlüsselwert enthält die interne Revision des Dokuments. Der Name dieser Dokumenteigenschaft ist konfigurierbar. Der Standardwert ist __v.

Wenn dies mit Ihrer Anwendung in Konflikt steht, können Sie Folgendes konfigurieren:

new Schema({..}, { versionKey: '_somethingElse' })
269
Tony The Lion

Nun, ich kann Tonys Lösung nicht sehen ... also muss ich mich selbst darum kümmern ...


Wenn Sie version_key nicht benötigen, können Sie einfach:

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
});
60
kenberkeley