b我声明要作为其架构查询结果的一部分显示的虚拟机,但是在对对象执行console.log时未显示该虚拟机。这是模式:
var schema = new mongoose.Schema(
{
Name: { type: String }
},
{
toObject: { virtuals: true }
});
schema.virtual("Greet").get(function()
{
return "My name is " + this.Name;
});
那个toObject是否不应该将virtual设置为任何查询结果的属性?它没有,schema.set(“toObject”,{virtuals:true})也没有。我这样做对吗?
最佳答案
因为您在JSON.stringify
调用中使用console.log
,所以该调用模型实例上的toJSON
方法,而不是toObject
。
因此,您可以在通话中省略JSON.stringify
:
console.log(results[0]);
或在架构上设置
toJSON
选项,就像您当前正在设置toObject
选项一样。...
{
toObject: { virtuals: true },
toJSON: { virtuals: true }
});
关于virtual - 无法让Mongoose虚拟机成为结果对象的一部分,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13133911/