Предыдущая статья: “MongoDB: запрос, обновление и удаление документа

В MongoDB проекция означает выбор не всех данных документа, а только нужных. Например, эта операция позволяет из 5-ти полей, содержащихся в документе, отобразить только 3.

Метод find()

Обратимся к методу find(), рассмотренному в разделеMongoDB: запрос документа”. Он принимает второй необязательный параметр, представляющий собой список полей, которые необходимо извлечь. При выполнении метода find() отображаются все поля документа. Чтобы установить ограничения, нужно задать список полей со значениями 1 или 0. 1 показывает поля, а 0 скрывает их. 

Синтаксис 

Основной синтаксис метода find() с проекцией

>db.COLLECTION_NAME.find({},{KEY:1})

Пример

Допустим, коллекция mycol содержит следующие данные: 

{_id : ObjectId("507f191e810c19729de860e1"), title: "MongoDB Overview"},
{_id : ObjectId("507f191e810c19729de860e2"), title: "NoSQL Overview"},
{_id : ObjectId("507f191e810c19729de860e3"), title: "NOP Overview"}

Отобразим название документа при его запросе: 

>db.mycol.find({},{"title":1,_id:0})
{"title":"MongoDB Overview"}
{"title":"NoSQL Overview"}
{"title":"NOP Overview"}
>

Обратите внимание, что при выполнении метода find() всегда отображается поле _id. Если же в этом поле нет необходимости, то установите для него значение 0

Читайте также:

Читайте нас в TelegramVK и Яндекс.Дзен

Предыдущая статья27 важных однострочных функций JavaScript, используемых разработчиками ежедневно
Следующая статьяMongoDB: ограничение отображаемых документов