update created collection virtual mongoose

created - No se puede hacer que Mongoose virtuals sea parte del objeto de resultado



mongoose update (2)

Debido a que está utilizando JSON.stringify en su llamada JSON.stringify , eso invoca el método toJSON en la instancia del modelo, no toObject .

O bien omita el JSON.stringify en su llamada:

console.log(results[0]);

O establezca la opción toJSON en el esquema como si estuviera configurando actualmente la opción toObject .

... { toObject: { virtuals: true }, toJSON: { virtuals: true } });

Estoy declarando un virtual que quiero aparecer como parte de los resultados de las consultas de su esquema, pero no aparece cuando hago una console.log en el objeto. Aquí está el esquema:

var schema = new mongoose.Schema( { Name: { type: String } }, { toObject: { virtuals: true } }); schema.virtual("Greet").get(function() { return "My name is " + this.Name; });

¿No debería ese Objeto no establecer lo virtual como una propiedad de los resultados de cualquier consulta? No lo hace, ni tampoco lo hace schema.set ("toObject", {virtuals: true}). ¿Lo estoy haciendo bien?


Terminé aquí haciendo algo realmente tonto. Estaba usando Doc.find lugar de Doc.findOne y, por lo tanto, estaba tratando de acceder a lo virtual en la matriz de documentos en lugar de hacerlo en el propio documento.