MEAN.JS - Построение модели данных

В этой главе мы продемонстрируем, как использовать модель данных в нашем приложении Node-express.

MongoDB - это база данных NoSQL с открытым исходным кодом, которая сохраняет данные в формате JSON. Он использует документно-ориентированную модель данных для хранения данных вместо использования таблиц и строк, как мы используем в реляционных базах данных. В этой главе мы используем Mongodb для построения модели данных.

Модель данных определяет, какие данные присутствуют в документе и какие данные должны быть в документе. Обратитесь к официальной установке MongoDB , чтобы установить MongoDB.

Мы будем использовать наш код предыдущей главы. Вы можете скачать исходный код по этой ссылке . Загрузите zip-файл; извлеките его в свою систему. Откройте терминал и выполните команду ниже, чтобы установить зависимости модуля npm.

$ cd mean-demo
$ npm install

Добавление Mongoose в приложение

Mongoose - это библиотека моделирования данных, которая определяет среду и структуру данных, делая MongoDB мощным. Вы можете установить Mongoose как модуль npm через командную строку. Перейдите в корневую папку и выполните следующую команду -

$ npm install --save mongoose

Приведенная выше команда загрузит новый пакет и установит его в папку node_modules . --Save флаг добавит этот пакет package.json файл.

{
   "name": "mean_tutorial",
   "version": "1.0.0",
   "description": "this is basic tutorial example for MEAN stack",
   "main": "server.js",
   "scripts": {
      "test": "test"
   },
   "keywords": [
      "MEAN",
      "Mongo",
      "Express",
      "Angular",
      "Nodejs"
   ],
   "author": "Manisha",
   "license": "ISC",
   "dependencies": {
      "express": "^4.17.1",
      "mongoose": "^5.5.13"
   }
}

Настройка файла подключения

Для работы с моделью данных мы будем использовать папку app / models . Давайте создадим модель student.js, как показано ниже -

var mongoose = require('mongoose');

// define our students model
// module.exports allows us to pass this to other files when it is called
module.exports = mongoose.model('Student', {
   name : {type : String, default: ''}
});

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

module.exports = {
   url : 'mongodb://localhost:27017/test'
}

Здесь test - это имя базы данных.

Здесь предполагается, что вы установили MongoDB локально. После установки запустите Mongo и создайте базу данных по имени test. Эта база данных будет иметь коллекцию по именам студентов. Вставьте данные в эту коллекцию. В нашем случае мы вставили запись с помощью db.students.insertOne ({name: 'Manisha', place: 'Pune', country: 'India'});

Доведите db.js файл в приложении, то есть, в server.js . Содержание файла показано ниже -

// modules =================================================
const express = require('express');
const app = express();
var mongoose = require('mongoose');
// set our port
const port = 3000;
// configuration ===========================================

// config files
var db = require('./config/db');
console.log("connecting--",db);
mongoose.connect(db.url); //Mongoose connection created

// frontend routes =========================================================
app.get('/', (req, res) ⇒ res.send('Welcome to Tutorialspoint!'));

//defining route
app.get('/tproute', function (req, res) {
   res.send('This is routing for the application developed using Node and Express...');
});

// sample api route
// grab the student model we just created
var Student = require('./app/models/student');
app.get('/api/students', function(req, res) {
   // use mongoose to get all students in the database
   Student.find(function(err, students) {
      // if there is an error retrieving, send the error.
      // nothing after res.send(err) will execute
      if (err)
         res.send(err);
      res.json(students); // return all students in JSON format
   });
});
// startup our app at http://localhost:3000
app.listen(port, () ⇒ console.log(`Example app listening on port ${port}!`));

Затем запустите приложение с помощью следующей команды -

$ npm start

Вы получите подтверждение, как показано на изображении ниже -

Теперь перейдите в браузер и введите http://localhost:3000/api/students. Вы получите страницу, как показано на изображении ниже -