В этой статье я расскажу о Fastify и MongoDB. Fastify — это фреймворк узла.

Что такое узел js

Node.js — это серверная среда с открытым исходным кодом. Node.js позволяет запускать JavaScript на сервере.

Что такое Фастфай

Быстрая веб-инфраструктура с низкими накладными расходами для Node.js

Fastify — это веб-фреймворк, ориентированный на обеспечение наилучшего опыта разработчиков с наименьшими накладными расходами и мощной архитектурой плагинов. Он вдохновлен Hapi и Express, и, насколько нам известно, это один из самых быстрых веб-фреймворков в городе.

Как мы настроим в нашем проекте:

mkdir fastify-api
cd fastify-api
mkdir src
cd src
touch index.js
npm init

Установите плагин, который нам нужен для node.

npm install fastify mongoose nodemon

В этой статье я не буду рассказывать о Mongo DB.

нодемон

nodemon — это инструмент для разработки узлов .js. Он автоматически перезапускает наше приложение.

Вам необходимо внести следующие изменения в файл package.json.

“start”: “./node_modules/nodemon/bin/nodemon.js ./src/index.js”

В этой статье я буду работать с CRUD, используя фреймворк fastify.

Внесите первоначальные изменения в index.js.

const fastify = require('fastify')()
// Declare a route
fastify.get('/', async (request, reply) => {
  return { hello: 'world' }
})
// Run the server!
const start = async () => {
  try {
    await fastify.listen(3000)
    fastify.log.info(`server listening on ${fastify.server.address().port}`)
  } catch (err) {
    fastify.log.error(err)
    process.exit(1)
  }
}
start()

Запустите свой npm.

npm start

Откройте браузер и запустите этот URL-адрес http://localhost:3000/, он вернет {hello: world}.

Нам нужно установить MongoDB на вашу машину. Видео ниже поможет установить MongoDB на вашем компьютере.

После успешной установки MongoDB запустите этот код.

mongod

Подключить свою БД.

const mongoose = require(‘mongoose’);
mongoose.connect(‘mongodb://localhost/mycargarage’).then(()=>{
 console.log(‘MonogoDB Connected…’)
}).catch((error)=>{
 console.log(‘error is’, error);
})

В приведенном выше примере нам требуется Mongoose и подключение к нашей базе данных MongoDB. База данных называется mycargarage, и если все прошло хорошо, теперь вы увидите MongoDB connected... в своем терминале.

Написать схему мангуста

const mongoose = require(‘mongoose’);
const carSchema = new mongoose.Schema({
 title: String,
 brand: String,
 price: String,
 age: Number,
 services:{
 type: Map,
 of: String
 }
})
module.exports = mongoose.model(‘Car’, carSchema);

Приведенная выше схема автомобиля кодирует всю информацию, относящуюся к нашим автомобилям.

Создать автомобильный контроллер

//Import our Controllers
const carController = require('../controllers/carController');
const routes = [
     {
        method: 'GET',
        url: '/api/cars',
        handler: carController.getCars
      },
      {
        method: 'GET',
        url: '/api/cars/:id',
        handler: carController.getSingleCar
      },
      {
        method: 'POST',
        url: '/api/cars',
        handler: carController.addCar
      },
      {
        method: 'PUT',
        url: '/api/cars/:id',
        handler: carController.updateCar
      },
      {
        method: 'DELETE',
        url: '/api/cars/:id',
        handler: carController.deleteCar
      }
]
module.exports = routes;

В приведенном выше коде мы используем разные методы GET, POST, PUT и DELETE.

GET — используется для получения данных с сервера.

POST — используется для публикации данных с сервера.

PUT — используется для обновления данных сервера.

DELETE — используется для удаления данных с сервера.

Обновление в вашем index.js

const routes = require('./routes');
//Loop over each route
routes.forEach((route, index)=> {
    fastify.route(route);
})

Затем запустите ваше приложение.

Я использовал postman для тестирования API.

Спасибо за чтение этого.

Хорошего дня!