MEAN.JS - Construire un modèle de données

Dans ce chapitre, nous montrerons comment utiliser le modèle de données dans notre application Node-express.

MongoDB est une base de données NoSQL open source qui enregistre les données au format JSON. Il utilise le modèle de données orienté document pour stocker les données au lieu d'utiliser des tables et des lignes comme nous les utilisons dans les bases de données relationnelles. Dans ce chapitre, nous utilisons Mongodb pour créer un modèle de données.

Le modèle de données spécifie quelles données sont présentes dans un document et quelles données doivent figurer dans un document. Reportez-vous à l' installation officielle de MongoDB pour installer MongoDB.

Nous utiliserons notre code de chapitre précédent. Vous pouvez télécharger le code source dans ce lien . Téléchargez le fichier zip; extrayez-le dans votre système. Ouvrez le terminal et exécutez la commande ci-dessous pour installer les dépendances du module npm.

$ cd mean-demo
$ npm install

Ajout de Mongoose à l'application

Mongoose est une bibliothèque de modélisation de données qui spécifie l'environnement et la structure des données en rendant MongoDB puissant. Vous pouvez installer Mongoose en tant que module npm via la ligne de commande. Accédez à votre dossier racine et exécutez la commande ci-dessous -

$ npm install --save mongoose

La commande ci-dessus téléchargera le nouveau package et l'installera dans le dossier node_modules . L' indicateur --save ajoutera ce package au fichier 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"
   }
}

Configuration du fichier de connexion

Pour travailler avec le modèle de données, nous utiliserons le dossier app / models . Créons le modèle Students.js comme ci-dessous -

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

Vous pouvez configurer le fichier de connexion en créant le fichier et en l'utilisant dans l'application. Créez un fichier appelé db.js dans config / db.js . Le contenu du fichier est comme ci-dessous -

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

Ici, test est le nom de la base de données.

Ici, on suppose que vous avez installé MongoDB localement. Une fois installé, démarrez Mongo et créez une base de données par test de nom. Cette base de données aura une collection par nom d'étudiants. Insérez des données dans cette collection. Dans notre cas, nous avons inséré un enregistrement en utilisant db.students.insertOne ({name: 'Manisha', place: 'Pune', country: 'India'});

Apportez le db.js fichier dans l' application, par exemple, en server.js . Le contenu du fichier est indiqué ci-dessous -

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

Ensuite, exécutez l'application avec la commande ci-dessous -

$ npm start

Vous obtiendrez une confirmation comme indiqué dans l'image ci-dessous -

Maintenant, allez dans le navigateur et tapez http://localhost:3000/api/students. Vous obtiendrez la page comme indiqué dans l'image ci-dessous -