MEAN.JS - budowanie modelu danych

W tym rozdziale pokażemy, jak używać modelu danych w naszej aplikacji Node-express.

MongoDB to baza danych NoSQL typu open source, która zapisuje dane w formacie JSON. Wykorzystuje model danych zorientowany na dokument do przechowywania danych zamiast tabel i wierszy, jak używamy w relacyjnych bazach danych. W tym rozdziale używamy Mongodb do budowania modelu danych.

Model danych określa, jakie dane są obecne w dokumencie i jakie dane powinny znajdować się w dokumencie. Zapoznaj się z oficjalną instalacją MongoDB , aby zainstalować MongoDB.

Użyjemy naszego poprzedniego kodu rozdziału. Możesz pobrać kod źródłowy w tym linku . Pobierz plik zip; wyodrębnij go w swoim systemie. Otwórz terminal i uruchom poniższe polecenie, aby zainstalować zależności modułów npm.

$ cd mean-demo
$ npm install

Dodawanie Mongoose do aplikacji

Mongoose to biblioteka do modelowania danych, która określa środowisko i strukturę danych, zwiększając możliwości MongoDB. Możesz zainstalować Mongoose jako moduł npm za pomocą wiersza poleceń. Przejdź do folderu głównego i uruchom poniższe polecenie -

$ npm install --save mongoose

Powyższe polecenie pobierze nowy pakiet i zainstaluje go w folderze node_modules . Flagą --save flaga będzie dodać ten pakiet do package.json pliku.

{
   "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"
   }
}

Konfigurowanie pliku połączenia

Do pracy z modelem danych będziemy używać folderu app / models . Stwórzmy model Students.js jak poniżej -

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: ''}
});

Możesz skonfigurować plik połączenia, tworząc plik i używając go w aplikacji. Utwórz plik o nazwie db.js w config / db.js . Zawartość pliku jest jak poniżej -

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

Tutaj test jest nazwą bazy danych.

Tutaj zakłada się, że zainstalowałeś lokalnie MongoDB. Po zainstalowaniu uruchom Mongo i utwórz bazę danych według nazwy testu. Ta baza danych będzie miała kolekcję według nazw uczniów. Wstaw trochę danych do tej kolekcji. W naszym przypadku wstawiliśmy rekord za pomocą db.students.insertOne ({nazwa: 'Manisha', miejsce: 'Pune', kraj: 'Indie'});

Przenieś plik db.js do aplikacji, tj . Do server.js . Zawartość pliku jest taka, jak pokazano poniżej -

// 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}!`));

Następnie uruchom aplikację za pomocą poniższego polecenia -

$ npm start

Otrzymasz potwierdzenie, jak pokazano na poniższym obrazku -

Teraz przejdź do przeglądarki i wpisz http://localhost:3000/api/students. Otrzymasz stronę, jak pokazano na poniższym obrazku -