Статьи

Представляем поддержку GraphQL в MongoDB Atlas с помощью Stitch

Мы рады сообщить, что теперь вы можете взаимодействовать со своими документами MongoDB, используя стандарт GraphQL в своих приложениях JavaScript, используя интеграцию Stitch в своем кластере MongoDB Atlas!

Итак, что это значит, почему это важно, и как именно вы это делаете?

Что такое GraphQL?

Если вы никогда не слышали о GraphQL раньше, вы можете думать о нем как о языке запросов для API. Вместо того, чтобы делать простые HTTP-запросы к конечной точке API и получать полную полезную нагрузку этого ресурса в качестве ответа, вы можете использовать GraphQL для запроса только тех полей, которые вам нужны, аналогично проекции MongoDB или запросу SQL.

Указывая поля, которые вы хотите вернуть, вы теперь уменьшаете размер полезной нагрузки ответа, повышаете производительность вашего приложения и пишете более чистый код.

Почему GraphQL в MongoDB выгоден?

До настоящего времени для возможности использования GraphQL в ваших приложениях требовался выделенный веб-сервис, который содержал информацию о схеме, выполнял функции с логикой базы данных и другой логикой промежуточного программного обеспечения, чтобы находиться между базой данных и клиентским приложением.

Создание бэкэнда GraphQL, хотя и не является невероятно сложной задачей, требует времени, требует обслуживания и сопряжено с определенными сборами, связанными с хостингом.

Устранение необходимости в бэкэнде GraphQL за счет использования Stitch для аутентификации, а также запросов и мутаций GraphQL — огромный выигрыш для MongoDB и разработчиков на платформе.


Вам также может понравиться:
Создать API GraphQL с Node, Mongoose и Express .

Взаимодействие с документами MongoDB через панель инструментов Stitch

Чтобы использовать GraphQL для запроса и изменения документов непосредственно на платформе MongoDB, необходимо выполнить несколько конфигураций.

Следующее даст вам представление о том, что должно быть сделано:

  • В вашем кластере MongoDB Atlas должна быть создана база данных и хотя бы одна коллекция.
  • Приложение MongoDB Stitch должно быть создано и связано с кластером.
  • Правила пользователя должны быть определены для базы данных и коллекции в Stitch.
  • Схема стежка должна быть определена.

Выполнение каждого из указанных выше шагов занимает не более нескольких минут. Я собираюсь сломать это для вас, чтобы сделать это легко.

Создайте кластер MongoDB Atlas с базой данных и коллекцией

Первое, что мы хотим сделать, это убедиться, что у нас есть кластер, созданный и настроенный в MongoDB Atlas . Если вы впервые знакомитесь с Atlas, это облачная версия MongoDB, и она содержит вечно бесплатный уровень «M0», чтобы вы могли начать работу.

Хотите, чтобы на ваш счет в MongoDB Atlas были добавлены премиальные кредиты? Используйте промо-код NICRABOY200, чтобы получить кредиты на создание более мощного кластера.

В Атласе нажмите кнопку КОЛЛЕКЦИИ на нужном кластере.

Нажатие кнопки Коллекции

Для начала мы собираемся создать единую базу данных и коллекцию для использования со Stitch. Если он еще не существует, выберите « Добавить мои данные» при появлении запроса.

Создание базы данных

Выбрав создание новой базы данных и коллекции, вы попадете в раздел проводника данных и схем на панели мониторинга MongoDB Atlas. Если вы начинаете с новой базы данных и схемы, у вас не будет никаких данных на данный момент.

Коллекции в Атласе

На данный момент MongoDB Atlas настроен достаточно, чтобы перейти к следующему шагу, который включает создание приложения Stitch и связывание его с базой данных и коллекцией.

Настройка MongoDB Stitch для интеграции с кластером Atlas

Чтобы подключить ваш кластер к Stitch, вам нужно создать приложение. Это не приложение в том смысле, как веб-приложение или мобильное приложение, а скорее в том смысле, что вы создаете что-то в Stitch для использования с приложением.

Почти в любом месте в пределах приборной панели MongoDB Atlas, нажмите стежок в Услуги секции навигации.

Переключить вкладку

После перехода к сервису Stitch вам будет предложено создать новое приложение, если оно еще не существует. Здесь вы будете определять такую ​​информацию, как имя приложения, рассматриваемый кластер и любую другую информацию о развертывании.

Создание нового приложения

После создания вы попадете на панель инструментов Stitch для вашего конкретного приложения. Когда вы разрабатываете свое приложение вне Stitch, вам, вероятно, понадобится некоторая форма аутентификации, чтобы люди могли получить доступ только к тем документам, которыми они владеют.

Чтобы обеспечить максимально простую аутентификацию, выберите «Включить анонимную аутентификацию» , как это будет использовано для примера в этом руководстве.

Определение пользовательских правил для доступа к данным в Stitch

С приложением Stitch, подключенным к кластеру MongoDB Atlas, мы должны определить правила доступа для наших пользователей.

На панели навигации выберите « Правила» и выберите коллекцию, которую мы хотим настроить. В моем примере я использую демо в качестве базы данных и задачи в качестве коллекции.

Настройка коллекции

Вы хотите выбрать шаблон разрешений для коллекции. В нашем примере мы хотим, чтобы пользователи могли только читать свои собственные данные. Для этого шаблона нам нужно определить, какое поле в наших документах MongoDB будет содержать идентификатор пользователя. Фактический идентификатор пользователя создается после аутентификации пользователя, но для этого примера owner_id будет представлять его.

Создание схемы в MongoDB Stitch

Чтобы Stitch автоматически генерировал возможные запросы и мутации, он должен понимать, как можно моделировать документы. Для этого необходимо определить схему в разделе « Правила » на панели инструментов Stitch.

Вот пример возможной схемы для конкретной коллекции:


JSON