Простое руководство по использованию Mongoose ORM для MongoDb с последней версией фреймворка Next.js.
1. Создайте проект Next.js 11.
Самый простой способ создать проект Next.js - использовать create-next-app
. Выполните следующую команду в своем терминале.
npx create-next-app my-mongoose-app-name
После завершения процесса откройте каталог проекта с помощью редактора кода.
2. Добавьте переменную среды
Нам нужна только одна переменная, и это будет MONGODB_URI
. Создайте файл с именем .env.local
в каталоге вашего проекта. Я использую здесь свою локальную базу данных, вы можете изменить значение на свое.
3. Установите Mongoose.
Теперь давайте установим пакет mongoose npm.
npm i mongoose
4. Добавьте файл подключения.
Теперь нам нужен файл для инициализации соединения с базой данных. Мы также кешируем соединение глобально. Давайте создадим файл lib/dbConnect.js
и вставим следующий код.
5. Создайте модель мангуста.
Давайте создадим модель Mongoose, чтобы мы могли вставить некоторые данные в нашу базу данных. Вы можете использовать любую модель по своему усмотрению. Ниже приведен пример простой модели User с именем и полем электронной почты. Обратите внимание на последнюю строку, экспорт отличается от того, как мы делали бы это в Express. Это предотвращает перекомпиляцию модели Mongoose. Вы можете создать этот файл как /models/User.js
.
6. Создайте маршруты API.
В приведенном ниже примере создается конечная точка в /api/users.js
. Он охватывает два метода - GET
и POST
. Метод GET
выбирает всех пользователей в базе данных, а метод POST
создает пользователя с параметрами, указанными в req.body
. Обратите внимание, что мы делаем dbConnect()
перед выполнением запросов к базе данных.
7. Проверьте свои маршруты!
Это будет наш последний шаг. Чтобы протестировать нашу конечную точку, мы можем отправлять запросы через любой HTTP-клиент по вашему выбору. Ниже приведены команды CURL, которые вы можете использовать, чтобы быстро проверить, все ли работает.
POST
в первую очередь, поэтому у вас есть данные для получения с помощью GET
POST - CREATE NEW USERS EXAMPLE REQUEST curl --request POST \ --url http://localhost:3000/api/users \ --header 'Content-Type: application/json' \ --data '{ "name": "John Doe", "email": "[email protected]" }' EXAMPLE RESPONSE { "success": true, "data": { "_id": "6112570b245e401eb895c35d", "name": "John Doe", "email": "[email protected]", "__v": 0 } } GET - GET ALL USERS EXAMPLE REQUEST curl --request GET \ --url http://localhost:3000/api/users \ --header 'Content-Type: application/json' EXAMPLE RESPONSE { "success": true, "data": [ { "_id": "6112570b245e401eb895c35d", "name": "John Doe", "email": "[email protected]", "__v": 0 } ] }
🥳 Вот и все! Все готово! Веселитесь с Мангустом! Оставьте комментарий, если хотите увидеть больше статей о Next.js. Разве мы не просто ❤️ Next.js? Я знаю, что!
Полное репо проекта: