如何在mongodb中同时从多个集合中获取数据

时间:2018-10-16 10:37:06

标签: 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和mongoose模式从users集合中获取名称,电子邮件,密码以及结果,日期从结果集合中获取

1 个答案:

答案 0 :(得分:0)

我认为您在定义两个猫鼬模式时应使用$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/ 谢谢!!!