Мне нужно объединить две коллекции, используя динамические поля объединения.посмотрите:
У меня есть коллекция (A) с 10 столбцами, такими как 1 => A, 2 => B, 3 => A ... 10 => B.
Вдругая коллекция (B) У меня есть 3 столбца, посмотрите это пример регистров:
1 0 => 7, 1 = 8, 2 = 9 2 0 => 1, 1 = 4, 2 = 7 ... n 0 => 3, 1 => 4, 2 => 9
Я хочу восстановить весь регистр из коллекции B с соответствующими буквами из коллекции A
Я уже использую агрегацию, ноне работал для меня.
db.getCollection('combinations_for_10_participants').aggregate([
{
$lookup:
{
from: "10_votes",
let: { vote0: "$0",vote1: "$1",vote2: "$2"},
pipeline: [
{ $project: { "7": 1,"8": 1,"9": 1, _id: 0}},
{ $match:
{ $expr:
{ $and:
[
{ $eq: [ "$7", "$$vote0" ] },
{ $eq: [ "$8", "$$vote1" ] },
{ $eq: [ "$9", "$$vote2" ] },
]
}
}
},
],
as: "map_votes"
}
}])