存储 mongoose (node.js orm) 查询结果
Posted
技术标签:
【中文标题】存储 mongoose (node.js orm) 查询结果【英文标题】:storing a mongoose (node.js orm) query result 【发布时间】:2011-04-20 14:47:07 【问题描述】:有没有办法做类似的事情:
var first_user = User.find( _id: user_id ).first();
使用 mongoose ORM? http://github.com/LearnBoost/mongoose
我要做的是存储查询的返回结果以供以后使用。
当我使用上述内容时,我返回到var first_user
的只是 QueryWriter 对象。
【问题讨论】:
你能用“findOne”吗?我对 Mongoose 不是很熟悉,但是“findOne”功能在大多数驱动程序中都非常一致。 【参考方案1】:您可以通过传递的回调访问 mongoose 查询的结果。您会发现 mongoose 与大多数 node.js 模块一样,广泛使用异步回调。 Mongoose 还提供了一个很好的方法来通过它的 id 返回一个对象,如果你想在回调范围之外使用这个结果,你可以这样做:
var first_user;
User.findById(user_id, function(user)
first_user = user;
);
对于其他 mongoose API 调用,我建议查看 mongoose 测试以获得很好的参考。查看http://github.com/LearnBoost/mongoose/blob/master/tests/integration/model.test.js
【讨论】:
谢谢。在发布我想要的语法后,我突然想到,如果它可用的话,它的本质就是块。以上是关于存储 mongoose (node.js orm) 查询结果的主要内容,如果未能解决你的问题,请参考以下文章
Mongoose:嵌套 Json 的模式并存储它(Node.js)
使用 Mongoose+Node.js 在 MongoDB 中存储非结构化 JavaScript 对象
node.js + express.js:使用 mongodb/mongoose 处理会话
使用 mongoose(Node.js) 在 MongoDB 中搜索