MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Błąd Mongoose:Nie można zaktualizować __v i __v jednocześnie

Proponuję umieścić logikę usuwania związaną z _id w pliku definicji schematu modelu mangusty:

var UserSchema = new mongoose.Schema(fieldDefinitions);

// Ensure virtual fields are serialised.
UserSchema.set('toJSON', {
    virtuals: true
});

// Ensure able to see virtual fields output when using console.log(obj)
UserSchema.set('toObject', {
    virtuals: true
});

UserSchema.options.toJSON = {

    transform : function(doc, ret, options) {

        console.log('--> ' + require('util').inspect( ret._id.id ));

        ret.id = ret._id.id;
        delete ret._id;
        delete ret.__v;

        return ret;
    },
    virtuals: true
};

Następnie w swoim wywołaniu zwrotnym wykonaj toJSON :

var processedJson = resultDoc.toJSON();

do pobrania przetworzonej wersji, która ładnie ukrywa logikę wielokrotnego użytku.
UWAGA :toJSON() jest również magicznie wykonywane przez JSON.stringify()




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB jak sprawdzić istnienie

  2. MongoEngine określa preferencje odczytu w zapytaniu

  3. Dlaczego nie mogę uruchomić wyjaśnienia podczas aktualizacji MongoDB?

  4. Jak znaleźć numer wiersza w posortowanej kolekcji MongoDB, aby obliczyć jego percentyl?

  5. Partycjonowanie rekordów w kolekcji w MongoDB