首页 > 解决方案 > 如何从mongodb的多个集合中同时获取数据

问题描述

这些是我的收藏

userscollection { "_id": "5bb4a954f49790893c60b096", "name": "vamsi", "email": "vamsi.sunny@gmail.com", "password": "uixzBOfZnC", "phoneno": 9032610826, "date": "2018-02-08T18:30:00.000Z", "type": "angular", "__v": 0, "Role": 2, "status": "active" }, studentcollection { "_id": "5bb5bb223d6f37a134747f4d", "result": "pass", "date": "15/10/2018", },

有两个集合用户和学生。如何使用 nodejs 和猫鼬模式从用户集合和结果集合中获取名称、电子邮件、密码和结果、日期

标签: node.jsmongodb

解决方案


我认为你应该$ref在定义两个猫鼬模式时使用。并使用

db.getCollection('mainCollection').find().populate('dependentCollection') 

populate 不是本机 mongoDb 方法,因此它不能在 shell 中工作。它仅适用于猫鼬。 https://docs.mongodb.com/manual/reference/database-references/

另一种方法是使用您可以使用的聚合查询$lookup,它在两个集合中都用作左外连接。 https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/ 谢谢!!!


推荐阅读