Я использую MongoDB 3.4.
Имею 2 коллекции следующим образом.
Коллекция 1: - type
{
"_id": {
"$numberLong": "1234"
},
"name" : "board1"
"type" : "electronic"
},
{
"_id": {
"$numberLong": "1235"
},
"name" : "board2",
"type" : "electronic"
}
Коллекция 2: - продукты
{
"_id": {
"$numberLong": "9876"
},
"types" : [
"1234",
"1235",
"1238"
]
},
{
"_id": {
"$numberLong": "9875"
},
"types" : [
"1234",
"1238"
]
}
Коллекция типов будет иметь несколько типов, и каждый продукт в коллекции продуктов будет иметь несколько типов.
Может быть несколькодокумент с разными идентификаторами для одного и того же типа в коллекции типов.И, коллекция продуктов может иметь массив типов с разными идентификаторами того же типа или другого типа.
Я хотел бы получить все идентификаторы типа электронные и найти продукты, которые имеют идентификатор в массиве типов для каждого продукта.
Я хочу получить результат, подобный приведенному ниже.
{
"_id": {
"$numberLong": "1234"
},
"name" : "board1",
"products" : [
"9876",
"9875"
]
},
{
"_id": {
"$numberLong": "1235"
},
"name" : "board2"
"products" : [
"9876",
"9875"
]
}
В настоящее время я делаю так много звонков, как для каждого типа идентификатора, получить все продукты.
Есть лилюбой другой простой способ с одним запросом, используя $ lookup или любой другой механизм?