MEAN.JS - 构建数据模型

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

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

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

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

$ cd mean-demo
$ npm install

将 Mongoose 添加到应用程序

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

$ npm install --save mongoose

上述命令将下载新包并将其安装到 node_modules 文件夹中。--save 标志会将此包添加到 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"
   }
}

设置连接文件

要使用数据模型,我们将使用 app/models 文件夹。让我们创建模型 students.js,如下所示 −

var mongoose = require('mongoose');

// 定义我们的学生模型
// module.exports 允许我们在调用时将其传递给其他文件
module.exports = mongoose.model('Student', {
name : {type : String, default: ''}
});

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

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

此处 test 是数据库名称。

此处假设您已在本地安装了 MongoDB。安装后,启动 Mongo 并创建名为 test 的数据库。此数据库将包含名为 students 的集合。向此集合插入一些数据。在我们的示例中,我们使用 db.students.insertOne( { name: 'Manisha' , place: 'Pune', country: 'India'} ); 插入了一条记录

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

// 模块 ===================================================
const express = require('express');
const app = express();
var mongoose = require('mongoose');
// 设置我们的端口
const port = 3000;
// 配置 ================================================

// 配置文件
var db = require('./config/db');
console.log("connecting--",db);
mongoose.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', function(req, res) {
    // 使用 mongoose 获取数据库中的所有学生
    Student.find(function(err, students) {
        // 如果检索时出错,则发送错误。
        // res.send(err) 之后的任何操作都不会执行
        if (err)
            res.send(err);
        res.json(students); // 以 JSON 格式返回所有学生
    });
});
// 在 http://localhost:3000 启动我们的应用
app.listen(port, () ⇒ console.log(`示例应用正在监听端口 ${port}!`));

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

$ npm start

您将获得如下图所示的确认信息 −

Setting Connection File

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

Connection File Student