# Значения массивы в MongoDB

Поля документов коллекции могут своими значениями иметь массивы. Давайте посмотрим на примере. Пусть у нас есть коллекция с юзерами, для каждого юзера содержащая массив языков, которые он знает:

`[ { "name": "user1", "langs": ["english", "spanish"], }, { "name": "user2", "langs": ["english", "german"], }, { "name": "user3", "langs": ["german", "spanish"], }, { "name": "user4", "langs": ["spanish", "english"], }, { "name": "user5", "langs": ["german", "english", "spanish"], }, ]`

## Пример

Давайте найдем все документы, у которых в массиве с языками есть `'english'`:

`let cond = {langs: 'english'}; let res = await coll.find(cond).toArray(); console.log(res);`

## Пример

Найдем теперь все документы, у которых в массиве с языками есть одновременно два языка, `'english'` и `'german'`:

`let cond = {langs: ['english', 'german']}; let res = await coll.find(cond).toArray(); console.log(res);`

## Пример

Теперь выведем все документы, в которых `'english'` находится на первом месте в массиве:

`let cond = {'languages.0': "english"}; let res = await coll.find(cond).toArray(); console.log(res);`

## Практические задачи

Из приведенной коллекции получите всех юзеров, которые знают испанский.

Из приведенной коллекции получите всех юзеров, которые знают немецкий и испанский.

Из приведенной коллекции получите всех юзеров, у которых испанский является вторым элементом в массиве.

← →
↑