У меня есть коллекция с записями, которые выглядят так:
{
"userid": 1,
"contents": [
{ "tag": "whatever", "value": 100 },
{"tag": "whatever2", "value": 110 }
]
}
Я бы хотел иметь возможность запрашивать эту коллекцию и возвращать только одну часть массива: ту, которая соответствует запросу. Я пытаюсь использовать оператор $ positional для этого, но пока он не работает.
Вот более точно, что я хотел бы сделать:
collection.find({'contents.tag':"whatever"},{'contents.$.value':1})
В результате я ожидаю, что sth будет иметь только значение, соответствующее записи в массиве, который соответствует запросу, в данном случае это 100.
Вы знаете, что не так? Я думал, что, возможно, оператор $ можно использовать только для обновления, а не для запросов. Кто-нибудь в курсе?
Спасибо!