将2个集合合并为一个集合mongoDB

时间:2019-04-15 06:02:56

标签: javascript node.js mongodb mongodb-query

我在mongoDB中有2个集合

收藏1

  {
    _id : "123",
    name : "ABC1"
  }

收藏2

  {
    _id : "456",
    name : "DEF1"
  }

我正试图结合编写一个查询,该查询会给我这样的输出

输出

  [
    {
      _id : "123",
      name : "ABC1"
    },
    {
     _id : "456",
     name : "DEF1"
    }
  ]

我尝试了查找,但似乎将1个集合追加到另一个集合,我希望像输出中所示那样合并这些集合。 我查看了有关堆栈溢出的现有解决方案,他们都建议使用lookup,但它没有提供我所需的输出。

2 个答案:

答案 0 :(得分:0)

进行两个独立的查询并将其组合:

const output = [query1, query2];

答案 1 :(得分:0)

这可以通过mongo shell上的javascript代码完成,如下所示:

> var all = []; // initialize a variable with empty values

> db.collection1.find().forEach(function (obj) {all.push(obj);}) // push to all from collection 1

> db.collection2.find().forEach(function (obj) {all.push(obj);}) // push to all from collection 2

> printjson(all) // Print all pushed elements 
[
    {
        "_id" : "123",
        "name" : "ABC1"
    },
    {
        "_id" : "456",
        "name" : "DEF1"
    }
]

希望这会对您有所帮助。您可以在mongo shell上执行此操作。