2013-02-01 84 views
1

当我使用猫鼬findOne方法时,它发现在回调中返回的对象是一个有效的mongoose Model对象(意思是我可以调用它的mongoose模型的辅助方法,如id用于子文档或remove删除它),当我打电话给猫鼬find方法我只是找回代表我正在寻找的文档的JavaScript对象?猫鼬 - 如何findOne返回猫鼬模型对象,但发现不?

+1

用'find'获取模型Mongoose模型实例数组。 – JohnnyHK

回答

3

findOne给你一个单一的猫鼬文件,而find给你一个返回所有匹配的猫鼬文件的数组,而不是游标。

YourModel.find({ something: true }, function (err, docs) { 
    if (err) return handleErrorSomehow(err) 
    console.log(Array.isArray(docs)) // true 
    docs.forEach(function (doc) { 
    console.log(typeof doc.save) // function 
    }) 
}) 
+0

+1谢谢!你只需要一个和两个小时的追捕。 –