У меня есть две коллекции. Мне нужно выбрать документы из первого по тем критериям, что значение поля существует во второй коллекции. Например:
В коллекции User_Item есть документы, подобные приведенным ниже
{
'_id' ...,
'uid' : 123,
'iid' : 'a123',
'quantity' : 10
}
Вторая коллекция содержит некоторые вещи, как показано ниже
{
'_id' ...,
'iid' : 'a456',
'name' : 'someItem'
}
Мне нужно получить образец по идентификатору предмета ('iid'), который совпадает в обеих коллекциях. Ожидаемый результат представлен.
{
'_id' : ...,
'uid' : 123,
'iid': 'a123',
'name' : 'item123'
}
Я использовал $ lookup в user_items из элементов, но он возвращает КАЖДЫЕ документы в первой коллекции, и там много пустых массивов. Я хочу избежать этого.
В случае $ lookup в элементах из user_items он вернет массив пользователей. Это тоже не желаемый результат.
Есть ли какие-либо параметры в поиске или может быть другое решение этой проблемы?