在查询中包含虚拟

问题描述:

我有一个架构MySchema我已经定义了虚拟。当我查询基于MySchema的文档时,文档的属性不包含虚拟文档。我如何指定我希望我的查询结果包含虚拟属性?在查询中包含虚拟

虚拟在那里,它们只是不显示为模型对象的属性。我假设你正在尝试类似console.log(results),的事情,你是对的,你不会在那里看到虚拟。但是如果你这样做:

Model.findOne(query, function (err, doc){ 
    console.log(doc.myVirtual); 
}); 

然后,你会看到虚拟,如果你已经正确定义它们。

你总是可以使用toObject函数返回一个普通的物体与虚拟值:上API docs of mongoose

doc.toObject({ virtuals: true }); 

更多信息。