Объедините 2 коллекции в одну коллекцию mongoDB - PullRequest
0 голосов
/ 15 апреля 2019

У меня есть 2 коллекции в mongoDB

коллекция 1

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

коллекция 2

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

Я пытаюсь объединить написать запрос, который дает мне вывод, как это

Выход

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

Я пробовал поиск, но это, кажется, добавляет одну коллекцию к другой, я хочу, чтобы коллекции были объединены, как показано в выводе. Я рассмотрел существующие решения по переполнению стека, и все они предлагают использовать lookup, который не дает мне вывод, который мне требуется.

Ответы [ 2 ]

0 голосов
/ 15 апреля 2019

Это можно сделать с помощью 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"
    }
]

Надеюсь, это поможет вам. Вы можете выполнить это на оболочке монго.

0 голосов
/ 15 апреля 2019

Сделайте два независимых запроса и объедините их:

const output = [query1, query2];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...