Как запросить из массива определённый элемент?

Для запроса определенного элемента из массива в MongoDB вы можете использовать оператор $elemMatch. Он позволяет указать условие, которому должен соответствовать хотя бы один элемент массива.

Чтобы запросить определенный элемент из массива, вам необходимо указать условие для поля, содержащего массив, используя оператор $elemMatch. Вот пример запроса:

db.collection.find({ field: { $elemMatch: { condition } } })

Где:
- db.collection - название вашей коллекции в MongoDB.
- field - поле, содержащее массив, из которого вы хотите выбрать элемент.
- condition - условие, которому должен соответствовать выбранный элемент.

Например, допустим у вас есть коллекция "users", и каждый документ в коллекции содержит поле "friends", которое представляет собой массив объектов (друзей пользователя). Вы хотите найти документы, в которых имеется друг с именем "John". Вот как будет выглядеть запрос:

db.users.find({ friends: { $elemMatch: { name: "John" } } })

Этот запрос найдет все документы в коллекции "users", у которых в поле "friends" содержится хотя бы один элемент, у которого поле "name" равно "John".

В результате выполнения этого запроса вы получите все документы, в которых есть друзья с именем "John".