当我执行如下.find
操作时:
Collection.find({name: 'Erik'}, function (err, docs) {
// do momething
});
'docs' 变量填充了一组功能齐全的猫鼬文档。但我需要得到一组纯 JSON 对象。
我知道我可以通过 forEach 循环遍历 'docs' 数组并使用 .toJSON() 方法获取对象。mongoose 是否支持该功能,我有兴趣吗?
如果您使用的是 Mongoose 3.x,您可以使用lean
查询选项来执行此操作:
Collection.find({name: 'Erik'}).lean().exec(function (err, docs) {
// docs are plain javascript objects instead of model instances
});
.exec(function(err, docs){
docs= docs.map(o => o.toObject());
这将包括virtuals和getter
Map through results and convert each to JS object:
const result = await model.find({some: 'query'});
return result.map((r) => r.toObject());