Mongodb 在查询中包含虚拟对象

Mongodb 在查询中包含虚拟对象,mongodb,mongoose,Mongodb,Mongoose,我有一个模式MySchema,我在这个模式上定义了虚拟现实。当我基于MySchema查询文档时,文档的属性不包括虚拟属性。如何指定我希望查询结果包含虚拟属性?虚拟属性在那里,它们只是不显示为模型对象的属性。我假设您正在尝试类似于console.log(results)的东西,您是对的,您不会在那里看到虚拟现实。但如果你做了以下事情: Model.findOne( query, function (err, doc){ console.log(doc.myVirtual); }); 然后,如

我有一个模式
MySchema
,我在这个模式上定义了虚拟现实。当我基于
MySchema
查询文档时,文档的属性不包括虚拟属性。如何指定我希望查询结果包含虚拟属性?

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

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

然后,如果正确定义了虚拟对象,您将看到它们。

您可以始终使用
toObject
函数返回带有虚拟值的普通对象:

doc.toObject({ virtuals: true });
更多关于该网站的信息