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