mongodb объединяет две таблицы с несколькими массивами - PullRequest
1 голос
/ 11 июня 2019

У меня одно членство в таблице, а другое - промо-коды.

таблица членства:

/* 1 */
{
    "_id" : ObjectId("5b62e7050b13587e9febb8db"),
    "country_id" : "5a093507f1d45633844096ef",
    "type" : "Bronze",
    "price" : "30",
}
/* 2 */
{
    "_id" : ObjectId("5b6961175140b477032291b7"),
    "country_id" : "5a093507f1d45633844096ef",
    "type" : "Gold",
    "price" : "1000",
}....

таблица промо-кодов:

{
    "_id" : ObjectId("5cfe23fd075be65883f6d921"),
    "final_status" : 1,
    "membership" : [ 
        ObjectId("5b62e7050b13587e9febb8db"), 
        ObjectId("5b6961175140b477032291b7"), 
        ObjectId("5b6961285140b477032291b8"), 
        ObjectId("5b7567dd5b874856981b53d3"), 
        ObjectId("5bba1c3794c6761db256edbc")
    ],
    "month" : [ 
        "1", 
        "3"
    ]
}

здесь таблица промомкодов имеет идентификатор участника. Я хочу данные промо-кода с членством присоединиться query.get данные промо-кода с подробностями членства Пожалуйста, помогите мне

1 Ответ

1 голос
/ 11 июня 2019

Использовать $ lookup для левого внешнего соединения в mongodb

db.promocode.aggregate([{
  $lookup: {
    from: 'membership',
    localField: 'membership',
    foreignField: '_id',
    as: 'memberships'
  }
}, {
  $project: {
    membership: 0
  }
}])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...