Предыдущая статья: “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
.
Читайте также:
- MongoDB: создание и удаление коллекции
- Знакомство с Papermill
- Шоу должно продолжаться: обеспечение безопасности Netflix Studios с масштабированием
Читайте нас в Telegram, VK и Яндекс.Дзен