Menu
CoddyTech

Подключение к MongoDB

Часть раздела Базы данных с MongoDB путешествия по Node.js на Coddy. Урок 3 из 29.

Твоя программа обращается к MongoDB через объект клиента. Импортируй MongoClient и создай клиент, указав адрес подключения. Адрес ниже указывает на MongoDB на том же компьютере: localhost. Число 27017 — это порт, на котором прослушивает запросы эта служба базы данных.

const client = new MongoClient('mongodb://localhost:27017');
const db = client.db('shop');
const orders = db.collection('orders');

Первая строка настраивает клиент; следующие две выбирают базу данных и коллекцию. Эти строки не считывают записи. В Coddy подключение предоставляется учебной базой данных, которая сбрасывается при нажатии «Запустить». Обычное развертывание MongoDB сохраняет данные после перезапуска приложения.

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

challenge icon

Задание

Легко

Отредактируй connection.js. Замени заполнитель клиентом, использующим mongodb://localhost:27017, базу данных shelf и её коллекцию books.

Создай эти значения вне selectBooks(). Пусть эта функция возвращает выбранную коллекцию, чтобы каждый запрос использовал её повторно. Предоставленный маршрут читает коллекцию за тебя. Попробуй нажать «Играть»: GET /result должен вывести Dune, Kindred и Emma. Код для добавления записей или маршрута не нужен.

Предоставленный маршрут GET /reuse возвращает {"same":true}, когда повторные вызовы получают один и тот же дескриптор коллекции.

Попробуйте сами

import { MongoClient } from 'mongodb';
// Создайте клиент, выберите базу данных и замените эту заглушку.
const books = null;
export function selectBooks() {
    return books;
}

Все уроки раздела Базы данных с MongoDB

Потренируйтесь самостоятельно: Песочница Express