Sto usando Mongoose
versione 3 con la versione 2.2 MongoDB
. Ho notato che un campo __v
ha iniziato a comparire nei miei documenti MongoDB
. Ha qualcosa a che fare con il versioning? Come viene usato?Che cos'è il campo "__v" in MongoDB
risposta
Da here:
Il
versionKey
è una proprietà impostata su ogni documento quando prima creato Taccone. Questo valore di chiave contiene la revisione interna del documento . Il nome di questa proprietà del documento è configurabile. Il valore predefinito di è__v
.Se questo conflitto con l'applicazione è possibile configurare in quanto tali:
new Schema({..}, { versionKey: '_somethingElse' })
Beh, non riesco a vedere la soluzione di Tony ... quindi devo gestire io stesso ...
Se non avete bisogno di version_key, si può solo:
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
});
qual è il risultato dell'impostazione su false? – xperator
@xperator Vedi qui → http://mongoosejs.com/docs/guide.html#versionKey –
Puoi anche chiamare 'resultFromMongo.toObject ({versionKey: false})', per surprimere il valore. –
- 1. Errore di modifica: Impossibile aggiornare __v e __v allo stesso tempo
- 2. Query multi-campo che utilizzano il driver C# per MongoDB
- 3. Mongoose __v property - nascondere?
- 4. Moltiplicare il campo in base al valore in Mongodb
- 5. Restituisce il tipo effettivo di un campo in MongoDB
- 6. Inserire il campo con $ currentDate nella raccolta MongoDB in Meteor
- 7. Aggiornamento campo in serie MongoDB C# conducente
- 8. Come selezionare un singolo campo in MongoDB?
- 9. Ricerca per campo virtuale in MongoDB (mangusta)
- 10. Campo Mongodb non null delete
- 11. mongoose (mongodb) Alias _id campo
- 12. Mongoose.js tranne _id & __v dal risultato della query di default
- 13. Come trovare il nome del campo MongoDB a profondità arbitraria
- 14. Trova record duplicati in MongoDB
- 15. Come restituire solo il valore di un campo nel MongoDB
- 16. MongoDB 1.6.5: come rinominare il campo nella collezione
- 17. MongoDB - Aggiorna campo se il nuovo valore è maggiore
- 18. Quadro di aggregazione MongoDB - Rinomina campo dinamico
- 19. Mongoose findByIdAndUpdate() o update() e increment(). Come incrementare __v?
- 20. MongoDB C# driver interrogazione campo multiplo
- 21. MongoDB - Query su campo nidificato con indice
- 22. node.js mongodb .. il campo (immutabile) '_id' è stato trovato modificato
- 23. MongoDB: è possibile evitare di utilizzare il campo _id automatico?
- 24. Elimina un campo in un documento in mongodb - Rails + Mongoide
- 25. Aggiornamento campo in esatta serie di elementi in MongoDB
- 26. Come trovare una sottostringa in un campo in MongoDB
- 27. Query MongoDB su campo indicizzato molto lento
- 28. Come proteggere il campo password in Mongoose/MongoDB in modo che non ritorni in una query quando popolo le raccolte?
- 29. MongoDB errore dell'operatore posizionale
- 30. Aumentare un campo in una raccolta MongoDB con Mongoose
E 'sicuro usare questo prop erty per determinare se un documento è stato appena creato (ad es. '__v === 0')? –
@ExplosionPills per riferimento futuro: no. La chiave di versione viene incrementata solo dopo operazioni che potrebbero causare un conflitto, modificando le posizioni dell'array. Altri aggiornamenti non lo incrementeranno. Il post di rilascio originale lo spiega in dettaglio: http://aaronheckmann.tumblr.com/post/48943525537/mongoose-v3-part-1-versioning –
C'è un modo per nasconderlo dai documenti restituiti dalle query? – diosney