在Node.js中从mongodb中的两个不同集合获取数据

时间:2018-08-06 06:12:47

标签: node.js mongodb express mongoose

我是mongodb数据库的新手,我想从两个不同的集合中获取数据(例如在mysql中使用joins),那么我们如何在mongodb中做到这一点?这里是我的收藏数据

First collection 

{
    "id": "5b67dbf20b9f9d2830ccaf40",
    "title": "Some Text",
    "author": "John Doe"
}


Second collection 

{
    "id": "5b67dbyd48btr9jexya8ehd8",
    "pid": "5b67dbf20b9f9d2830ccaf40",
    "salary": "50000"
}

1 个答案:

答案 0 :(得分:0)

将您的NewSchema更新为:

var NewSchema = mongoose.Schema({
    pid: {
            type: Mongoose.Schema.ObjectId,
            ref: `Firstcollection`
        }
    });

您可以使用猫鼬中的populate来解决它。

SecondCollection.find({})
.populate('pid')
.exec(function(err, data) {
    console.log(data)
})

希望它可以解决您的查询!