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.