mongoosejs得到_doc没有循环

时间:2017-02-22 09:27:45

标签: node.js mongodb mongoose

在mongoosejs中执行find()之后我有一个问题。

有没有更好的方法来获取_doc-object而不循环遍历整个queryresult?

我正在寻找类似于model.getDoc()的东西,但我找不到它。

由于

2 个答案:

答案 0 :(得分:2)

好的,我自己找到了解决方案。也许它可以帮助任何人:

var result = model.map(function(obj){
 return obj._doc;
});

答案 1 :(得分:0)

要仅获取特定字段的文档,请使用带字段名称的字符串(以空格分隔)作为第二个参数,如果您想要省略特定字段,请使用" - "在字段名称之前

Model.find({}, '_doc', function(){...});

但这回复文件是这样的:

{
  _id: <object id>,
  _doc: <some data>
}

如果你想要ommit _id字段:

Model.find({}, '_doc -_id', function(... {}))

或替代语法:

Model.find({}).select('_doc -_id').exec()