在Node Js中加入两个不同的集合形成mongoDB

时间:2017-02-08 15:12:17

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

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

我在同一个mongo db表中有两个不同的集合 - 名为MemoryStreamjobs,这就是它们的样子:

nodes

返回以下内容:

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)
                }
            });
        }
    });
}

正如您所看到的,两个不同的集合每个都有两个文档,它们可以通过job_url和node_url相关联,例如: 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 } ] 我是否有可能在此基础上加入文件,以便最终结果如下:

222.22.22.22:2222

任何帮助/提示将非常感谢!

1 个答案:

答案 0 :(得分:1)

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

简而言之,当需要快速检索和高可用性数据时加入nosql数据库(加入速度很慢,因此它不在游戏中),而不是那样,当你遇到像你这样的情况时,那么你应该考虑重新构建您的架构,如https://docs.mongodb.com/manual/core/data-modeling-introduction

所述

Ofcource你可以自己手动加入,但是你错过了mongo