在查询中包含虚拟

时间:2012-02-06 17:52:41

标签: mongodb mongoose

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

2 个答案:

答案 0 :(得分:2)

虚拟数据存在,它们不会显示为Model对象的属性。我假设你正在尝试像console.log(results),这样的事情而你是对的,你不会在那里看到虚拟的东西。但是,如果你做了类似的事情:

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

如果您已正确定义虚拟广告,那么您将会看到虚拟广告。

答案 1 :(得分:0)

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

doc.toObject({ virtuals: true });

有关API docs of mongoose的更多信息。