MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Грешка на Mongoose:Не може да актуализира __v и __v едновременно

Предлагам ви да поставите логика за изтриване, свързана с _id, във файла с дефиницията на схемата на вашия модел mongoose:

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
};

След това във вашето обратно извикване изпълнете toJSON :

var processedJson = resultDoc.toJSON();

за извличане на обработената версия, която добре скрива логиката за многократна употреба.
ЗАБЕЛЕЖКА:toJSON() също се изпълнява магически от JSON.stringify()




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Прехвърлете големи колекции MongoDB в data.frame в R с rmongodb и plyr

  2. Обединете колекция Mongodb и Python Dict

  3. Каква е разликата между replaceOne() и updateOne() в MongoDB?

  4. Преобразуване на mongo масив в обект с двойка ключ-стойност

  5. Мога ли да прочета csv файл вътре в Javascript файл на Mongo Shell?