【问题标题】:Joining two different collections form mongoDB in Node Js在Node Js中加入两个不同的集合形成mongoDB
【发布时间】:2017-02-08 15:12:16
【问题描述】:

我是 mongoDB 的新手,想知道以下是否可行。

我在同一个 mongo db 表中有两个不同的集合 - 称为 jobsnodes,它们看起来像这样:

function testing() {
    nodes.find(function(err, data) {
        if (err) {
            console.log(err)
        } else {
            console.log('NODES RETURNED: ', data)

            jobs.find(function(err, post) {
                if (err) {
                    console.log(err)
                } else {
                    console.log('JOBS RETURNED: ', post)
                }
            });
        }
    });
}

返回以下内容:

JOBS RETURNED:  [ { _id: '5899999354d59',
    job_url: 'http://222.22.22.22:2222/jobs',
    progress: 0,
    queue: 0 },
  { _id: '5899b7d054da96',
    job_url: 'http://111.11.1.111:1111/jobs',
    progress: 0,
    queue: 0 } ]

CLUSTER NODESS RETURNED:  [ { _id: '58a9a4805c1f',
    node_url: 'http://222.22.22.22:2222/nodes',
    cpu: 40 },
  { _id: '58999a9a4805c23',
    node_url: 'http://111.11.1.111:1111/nodes',
    average_cpu: 15 } ]

如您所见,两个不同的集合各有两个文档,它们可以通过 job_url 和 node_url 关联,例如222.22.22.22:2222我能不能根据这个把文档拼接起来,这样最终的结果是这样的:

[ { _id: '58a9a4805c1f',
    node_url: 'http://222.22.22.22:2222/nodes',
    job_url: 'http://222.22.22.22:2222/jobs',
    progress: 0,
    queue: 0 },
    cpu: 40 },
  { _id: '58999a9a4805c23',
    node_url: 'http://111.11.1.111:1111/nodes',
    job_url: 'http://111.11.1.111:1111/jobs',
    progress: 0,
    queue: 0,
    average_cpu: 15 } 

任何帮助/提示将不胜感激!

【问题讨论】:

标签: javascript node.js mongodb mongoose mongodb-query


【解决方案1】:

mongo 中没有 join,因为 mongo 是一个 nosql 数据库,请在此处阅读 https://en.wikipedia.org/wiki/NoSQL

简而言之,当需要快速检索和高可用性数据时使用 nosql 数据库(连接速度很慢,所以这里不适用),而不是那样,当你遇到像你这样的情况时,你应该考虑改造你的架构在这里解释得很好https://docs.mongodb.com/manual/core/data-modeling-introduction

当然你可以自己手动加入,但是你错过了 mongo 的意义

【讨论】:

    猜你喜欢
    • 2016-10-20
    • 1970-01-01
    • 2015-10-07
    • 2012-09-15
    • 2020-05-12
    • 1970-01-01
    • 2017-08-10
    • 2020-09-03
    • 1970-01-01
    相关资源
    最近更新 更多