存储一个mongoose(node.js orm)查询结果

有没有办法做这样的事情:

var first_user = User.find({ _id: user_id }).first(); 

使用mongoose ORM? http://github.com/LearnBoost/mongoose

我想要做的是存储查询的返回结果供以后使用。

当我使用上面的时候,我得到的所有返回到var first_userQueryWriter对象。

您可以通过传递的callback访问mongoose查询的结果。 与大多数node.js模块一样,您会发现mongoose会大量使用asynchronouscallback。 Mongoose也提供了一个很好的方法来返回一个对象的id,如果你想在callback的范围之外使用这个结果,你可以这样做:

 var first_user; User.findById(user_id, function(user){ first_user = user; }); 

对于其他mongooseAPI调用,我build议看mongoose的testing是一个很好的参考。 查看http://github.com/LearnBoost/mongoose/blob/master/tests/integration/model.test.js