sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongoose-fel:Kan inte uppdatera __v och __v samtidigt

Jag föreslår att du lägger in _id-relaterad raderingslogik i din mangustmodell Schema definitionsfil:

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

Kör sedan tillJSON :

i din återuppringning
var processedJson = resultDoc.toJSON();

för att hämta den bearbetade versionen som snyggt döljer återanvändbar logik.
OBS:toJSON() exekveras också magiskt av JSON.stringify()




  1. Sortering av aggregering addToSet-resultat

  2. Hur skulle jag kunna skriva ett BsonDocument-objekt i en fil och läsa det igen med Java

  3. Loggning med winston-mongodb och express-winston

  4. Concat-matriser som använder PyMongo misslyckades med okänd gruppoperator '$concatArrays'