MEAN.JS - 构建数据模型


在本章中,我们将演示如何在 Node-express 应用程序中使用数据模型。

MongoDB 是一个开源 NoSQL 数据库,以 JSON 格式保存数据。它使用面向文档的数据模型来存储数据,而不是像我们在关系数据库中使用的表和行。在本章中,我们将使用 Mongodb 来构建数据模型。

数据模型指定文档中存在哪些数据以及文档中应该存在哪些数据。参考MongoDB官方安装,安装MongoDB。

我们将使用之前的章节代码。您可以在此链接中下载源代码。下载 zip 文件;将其提取到您的系统中。打开终端并运行以下命令来安装 npm 模块依赖项。

$ cd 平均演示
$ npm 安装

将猫鼬添加到应用程序

Mongoose 是一个数据建模库,通过使 MongoDB 变得强大来指定数据的环境和结构。您可以通过命令行将 Mongoose 安装为 npm 模块。转到根文件夹并运行以下命令 -

$ npm install --save 猫鼬

上面的命令将下载新包并将其安装到node_modules文件夹中。--save标志会将此包添加到package.json文件中。

{
   “名称”:“意思_教程”,
   “版本”:“1.0.0”,
   "description": "这是 MEAN 堆栈的基本教程示例",
   “主要”:“服务器.js”,
   “脚本”:{
      “测试一下”
   },
   “关键字”:[
      “意思是”,
      “蒙戈”,
      “表达”,
      “有角”,
      “Node.js”
   ],
   “作者”:“马尼沙”,
   “许可证”:“ISC”,
   “依赖项”:{
      "express": "^4.17.1",
      “猫鼬”:“^5.5.13”
   }
}

设置连接文件

为了使用数据模型,我们将使用app/models文件夹。让我们创建模型Students.js,如下所示 -

var 猫鼬 = require('猫鼬');

// 定义我们的学生模型
// module.exports 允许我们在调用时将其传递给其他文件
module.exports = mongoose.model('学生', {
   名称:{类型:字符串,默认值:''}
});

您可以通过创建文件并在应用程序中使用它来设置连接文件。在config/db.js中创建一个名为db.js的文件。文件内容如下 -

模块. 导出 = {
   url : 'mongodb://localhost:27017/test'
}

这里的test是数据库名称。

这里假设您本地已经安装了MongoDB。安装后启动 Mongo 并按名称 test 创建一个数据库。该数据库将有一个按学生姓名排列的集合。向该集合插入一些数据。在我们的例子中,我们使用 db.students.insertOne( { name: 'Manisha' , place: 'Pune', Country: 'India'} ); 插入一条记录。

db.js文件引入应用程序,即server.js中。文件内容如下所示 -

// 模块 ================================================= ==
const express = require('express');
常量应用程序 = Express();
var 猫鼬 = require('猫鼬');
// 设置我们的端口
常量端口= 3000;
// 配置 =============================================

// 配置文件
var db = require('./config/db');
console.log("正在连接--",db);
猫鼬.connect(db.url); //Mongoose 连接已创建

// 前端路由 ================================================ ===========
app.get('/', (req, res) ⇒ res.send('欢迎来到Tutorialspoint!'));

//定义路线
app.get('/tproute', function (req, res) {
   res.send('这是使用 Node 和 Express 开发的应用程序的路由...');
});

// 示例 API 路由
// 获取我们刚刚创建的学生模型
var Student = require('./app/models/student');
app.get('/api/students', 函数(req, res) {
   // 使用mongoose获取数据库中所有学生
   Student.find(函数(错误,学生) {
      // 如果检索出错,则发送错误。
      // res.send(err) 之后不会执行任何操作
      如果(错误)
         res.send(错误);
      res.json(学生);// 以 JSON 格式返回所有学生
   });
});
// 在 http://localhost:3000 启动我们的应用程序
app.listen(port, () ⇒ console.log(`在端口 ${port} 上侦听的示例应用程序!`));

接下来,使用以下命令运行应用程序 -

$ npm 开始

您将收到如下图所示的确认信息 -

设置连接文件

现在,转到浏览器并输入http://localhost:3000/api/students。您将看到如下图所示的页面 -

连接文件学生