MEAN.JS - Construir Modelo de Dados

Neste capítulo, demonstraremos como usar o modelo de dados em nosso aplicativo Node-express.

MongoDB é um banco de dados NoSQL de código aberto que salva os dados no formato JSON. Ele usa o modelo de dados orientado a documentos para armazenar os dados em vez de usar tabelas e linhas como usamos nos bancos de dados relacionais. Neste capítulo, estamos usando Mongodb para construir modelo de dados.

O modelo de dados especifica quais dados estão presentes em um documento e quais dados devem estar em um documento. Consulte a instalação oficial do MongoDB para instalar o MongoDB.

Devemos usar nosso código do capítulo anterior. Você pode baixar o código-fonte neste link . Baixe o arquivo zip; extraia-o em seu sistema. Abra o terminal e execute o comando abaixo para instalar as dependências do módulo npm.

$ cd mean-demo
$ npm install

Adicionando Mongoose ao aplicativo

Mongoose é uma biblioteca de modelagem de dados que especifica o ambiente e a estrutura dos dados, tornando o MongoDB poderoso. Você pode instalar o Mongoose como um módulo npm por meio da linha de comando. Vá para a pasta raiz e execute o comando abaixo -

$ npm install --save mongoose

O comando acima irá baixar o novo pacote e instalá-lo na pasta node_modules . O sinalizador --save adicionará este pacote ao arquivo 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"
   }
}

Configurando Arquivo de Conexão

Para trabalhar com modelo de dados, usaremos a pasta app / models . Vamos criar o modelo students.js como abaixo -

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

Você pode configurar o arquivo de conexão criando o arquivo e usando-o no aplicativo. Crie um arquivo chamado db.js em config / db.js . O conteúdo do arquivo é o seguinte -

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

Aqui, teste é o nome do banco de dados.

Aqui, presume-se que você instalou o MongoDB localmente. Depois de instalado, inicie o Mongo e crie um banco de dados por teste de nome. Este banco de dados terá uma coleção por nome de alunos. Insira alguns dados nesta coleção. Em nosso caso, inserimos um registro usando db.students.insertOne ({nome: 'Manisha', local: 'Pune', país: 'Índia'});

Traga o arquivo db.js para o aplicativo, ou seja, server.js . O conteúdo do arquivo é mostrado abaixo -

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

Em seguida, execute o aplicativo com o comando abaixo -

$ npm start

Você receberá uma confirmação conforme mostrado na imagem abaixo -

Agora, vá para o navegador e digite http://localhost:3000/api/students. Você obterá a página conforme mostrado na imagem abaixo -