【问题标题】:Get data from two different collections in mongodb in nodejs从nodejs中mongodb的两个不同集合中获取数据
【发布时间】:2019-01-13 01:14:13
【问题描述】:

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

First collection 

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


Second collection 

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

【问题讨论】:

标签: node.js mongodb express mongoose


【解决方案1】:

将您的NewSchema 更新为:

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

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

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

希望它能解决您的问题!!

【讨论】:

  • 不工作,只显示第一个集合的记录,我想获取 id(第一个集合中的 id 和第二个集合中的 pid)匹配的数据
  • 您到底想达到什么目标?您能否与相关数据和预期结果共享架构?
  • @NehaGupta 如果上述查询不起作用,那么我认为您没有使用 ref 链接第一个和第二个集合。
  • 我想从两个集合中获取记录。就是这样!
  • 你能发布你的模型架构吗?
猜你喜欢
  • 1970-01-01
  • 2014-07-16
  • 1970-01-01
  • 1970-01-01
  • 2013-02-14
  • 1970-01-01
  • 2020-05-13
  • 2023-02-02
  • 2019-03-20
相关资源
最近更新 更多