MEAN.JS - Crea modello di dati

In questo capitolo, dimostreremo come utilizzare il modello di dati nella nostra applicazione Node-express.

MongoDB è un database NoSQL open source che salva i dati in formato JSON. Utilizza il modello di dati orientato al documento per memorizzare i dati invece di utilizzare tabelle e righe come usiamo nei database relazionali. In questo capitolo, utilizziamo Mongodb per creare un modello di dati.

Il modello di dati specifica quali dati sono presenti in un documento e quali dati dovrebbero essere presenti in un documento. Fare riferimento all'installazione ufficiale di MongoDB per installare MongoDB.

Useremo il codice del capitolo precedente. Puoi scaricare il codice sorgente in questo link . Scarica il file zip; estrailo nel tuo sistema. Apri il terminale ed esegui il comando seguente per installare le dipendenze del modulo npm.

$ cd mean-demo
$ npm install

Aggiunta di mangusta all'applicazione

Mongoose è una libreria di modellazione dei dati che specifica l'ambiente e la struttura dei dati rendendo MongoDB potente. Puoi installare Mongoose come modulo npm tramite la riga di comando. Vai alla tua cartella principale ed esegui il comando seguente:

$ npm install --save mongoose

Il comando precedente scaricherà il nuovo pacchetto e lo installerà nella cartella node_modules . Il flag --save aggiungerà questo pacchetto al file 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"
   }
}

Configurazione del file di connessione

Per lavorare con il modello di dati, utilizzeremo la cartella app / models . Creiamo il modello students.js come di seguito -

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

È possibile impostare il file di connessione creando il file e utilizzandolo nell'applicazione. Creare un file denominato db.js in config / db.js . I contenuti del file sono i seguenti:

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

Qui test è il nome del database.

Qui si presume che tu abbia installato MongoDB localmente. Una volta installato, avvia Mongo e crea un database in base al nome. Questo database avrà una raccolta per nome studenti. Inserisci alcuni dati in questa raccolta. Nel nostro caso, abbiamo inserito un record utilizzando db.students.insertOne ({name: 'Manisha', place: 'Pune', country: 'India'});

Porta il file db.js nell'applicazione, cioè in server.js . I contenuti del file sono come mostrato di seguito:

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

Quindi, esegui l'applicazione con il comando seguente:

$ npm start

Riceverai una conferma come mostrato nell'immagine qui sotto -

Ora vai al browser e digita http://localhost:3000/api/students. Otterrai la pagina come mostrato nell'immagine qui sotto -