node.js - 如何从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 和猫鼬模式从用户集合和结果集合中获取名称、电子邮件、密码和结果、日期
解决方案
我认为你应该$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/
谢谢!!!