如何将多个mongoose查询合并为一个
User.find().then(function (user) { console.log(user) }) Category.find().then(function (category) { console.log(err); }) Content.find().then(function (content) { console.log(content); })
如何将查询语句组合成一个并获得所有结果? ps:我用mongoose来操作mongoDb。
你可以在Promise.all()中包装所有的查询来获得想要的结果。 传递给Promise.all()的查询将同时执行。 看看下面的代码。
Promise.all([ User.find(), Category.find(), Content.find() ]) .then(results=>{ //results return an array const [users,categories,content] = results; console.log("users",users); console.log("categories",categories); console.log("contents",content); }) .catch(err=>{ console.error("Something went wrong",err); })
如果你使用蓝鸟库,那么你可以使用Promise.props(),它基本上允许你传递一个对象而不是一个数组。
Promise.props({ users:User.find(), categories : Category.find(), content : Content.find() }).then(result=>{ console.log("users",result.users); console.log("categories",result.categories); console.log("contents",result.content); }).catch(err=>{ console.error("Something went wrong",err); })
- 本地驱动程序从Mongoose模型中查找不返回游标
- Mongo / Mongooseprimefaces更新值无效错误
- 我正在使用mongoose,并希望去所有的成员,并单独使用每个研究的结果
- 用纯stringreplaceMongoDB中的ObjectID
- 如何在Node.js + Express + Mongoose + Jade中处理表单validation,特别是嵌套模型
- 尝试使用mongodb使用node.js实现多租户系统时遇到的问题
- 无法使用HTTP Put更新MongoDB集合中的对象?
- 在mongoose中获得最大值
- Express / Mongoose项目中的HTTP Get和Post请求中缺less内容