Документ:
{
objectId: 35,
properties: [
{
pset: 'A1',
property: 'Fire',
value: '60'
},
{
pset: 'B1',
property: 'Fire',
value: '70'
}
]
}
Входные данные для запроса:
{
psetsWithProperties: [{ pset: 'A1', property: 'Fire'}, { pset: 'abc', property: 'fff'}]
}
Сочетание pset и свойства всегда уникально.Таким образом, в коллекции свойств не может быть двух 'A1' и 'Fire'.
Ожидаемый результат:
[{
objectId: 35,
properties: {
'A1/Fire': '60'
}
}]
Таким образом, второй элемент (B1, Fire) не включен, так какне на входе.
Если совпадений нет вообще, объект свойств будет пустым:
[{
objectId: 35,
properties: {}
}]
Здесь следует использовать структуру агрегации MongoDB.
Что-то с $in, $group, $unwind
IПодумайте.
Не знаю, с чего начать.
Не должно быть точно, как в моих примерах.
Есть идеи?