MEAN.JS - Construir modelo de datos

En este capítulo, demostraremos cómo utilizar el modelo de datos en nuestra aplicación Node-express.

MongoDB es una base de datos NoSQL de código abierto que guarda los datos en formato JSON. Utiliza el modelo de datos orientado a documentos para almacenar los datos en lugar de usar tablas y filas como usamos en las bases de datos relacionales. En este capítulo, usamos Mongodb para crear un modelo de datos.

El modelo de datos especifica qué datos están presentes en un documento y qué datos deben estar allí en un documento. Consulte la instalación oficial de MongoDB para instalar MongoDB.

Usaremos nuestro código de capítulo anterior. Puede descargar el código fuente en este enlace . Descargue el archivo zip; extraerlo en su sistema. Abra la terminal y ejecute el siguiente comando para instalar las dependencias del módulo npm.

$ cd mean-demo
$ npm install

Añadiendo Mangosta a la Aplicación

Mongoose es una biblioteca de modelado de datos que especifica el entorno y la estructura de los datos al hacer que MongoDB sea poderoso. Puede instalar Mongoose como un módulo npm a través de la línea de comandos. Vaya a su carpeta raíz y ejecute el siguiente comando:

$ npm install --save mongoose

El comando anterior descargará el nuevo paquete y lo instalará en la carpeta node_modules . La marca --save agregará este paquete al archivo 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"
   }
}

Configuración del archivo de conexión

Para trabajar con el modelo de datos, usaremos la carpeta app / models . Creemos el modelo Students.js como se muestra a continuación:

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

Puede configurar el archivo de conexión creando el archivo y usándolo en la aplicación. Crear un archivo llamado db.js en config / db.js . El contenido del archivo es el siguiente:

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

Aquí prueba es el nombre de la base de datos.

Aquí se supone que ha instalado MongoDB localmente. Una vez instalado, inicie Mongo y cree una base de datos por nombre de prueba. Esta base de datos tendrá una colección por nombre de los estudiantes. Inserta algunos datos en esta colección. En nuestro caso, hemos insertado un registro usando db.students.insertOne ({nombre: 'Manisha', lugar: 'Pune', país: 'India'});

Lleve el archivo db.js a la aplicación, es decir, en server.js . El contenido del archivo se muestra a continuación:

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

A continuación, ejecute la aplicación con el siguiente comando:

$ npm start

Obtendrá una confirmación como se muestra en la imagen a continuación:

Ahora, vaya al navegador y escriba http://localhost:3000/api/students. Obtendrá la página como se muestra en la imagen a continuación: