Как запросить только несколько полей?

В MongoDB для запроса только нескольких полей из документа можно использовать оператор проекции project.

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

Общий синтаксис оператора проекции project выглядит следующим образом:

db.collection_name.find({}, { field_1: 1, field_2: 1, ...})

Где collection_name - название коллекции, field_1, field_2 и так далее - названия полей, которые нужно включить, а 1 - указывает, что поле должно быть включено в результирующий документ. Если вы хотите исключить поле из результирующего документа, можно использовать 0 вместо 1.

Например, предположим, у нас есть коллекция users со следующей структурой документа:

{
  "_id": ObjectId("60eab37b85e3e4a47a28c1c0"),
  "name": "John Doe",
  "age": 30,
  "email": "[email protected]",
  "address": "123 Main St"
}

Чтобы запросить только поля name и age, мы можем использовать следующий запрос:

db.users.find({}, { name: 1, age: 1 })

Результатом будет документ, содержащий только указанные поля:

{
  "_id": ObjectId("60eab37b85e3e4a47a28c1c0"),
  "name": "John Doe",
  "age": 30
}

Если бы мы хотели исключить поле address, мы могли бы использовать следующий запрос:

db.users.find({}, { address: 0 })

Результатом было бы:

{
  "_id": ObjectId("60eab37b85e3e4a47a28c1c0"),
  "name": "John Doe",
  "age": 30,
  "email": "[email protected]"
}

Таким образом, используя оператор проекции project, вы можете легко выбрать только необходимые поля в результатах запроса MongoDB.