853-1920x1080.jpg

一、MongoDB 下载、安装与启动

数据库选择 MongoDB 是因为其结构与 JSON 数据格式很像。基本了解 MongoDB 的概念就好,主要是安装上数据库,并进行简单的增删操作。

安装并运行

这里我的路径是在E盘下面
image.png

  • 启动:进入bin目录下,启动 mongodb 数据库服务器

    • 可以设置start.bat,这样就可以直接双击启动
    • image.png

    • image.png


mongod 是用来连接到 mongodb 数据库服务器的,即服务器端。可以看到数据库启动成功后的信息,例如pid、port、dbpath等


mongo 是用来启动 MongoDB shell 的,是 mongodb 的命令行客户端,启动成功后可以看到连接成功的地址与端口号:mongodb://127.0.0.1:27017

image.png

二、adminMongo 可视化工具

adminMongo:一款 MongoDB 可视化数据管理工具
github地址为:https://github.com/mrvautin/adminMongo

安装与启动

  1. git clone https://github.com/mrvautin/adminMongo.git
  2. cd adminMongo
  3. npm install
  4. npm start

启动成功后可以看到地址与端口号为http://localhost:1234

image.png

进入http://localhost:1234后可以看到下面这样的界面:
image.png
Connection name:随便写一个,必填项
Connection string: 这里写的是启动的mongo服务 mongodb://127.0.0.1:27017

点击 Connect 连接,就会出现类似下面的可视化界面,连接成功!
image.png

三、Express 服务框架

  • 安装 express

    npm init //安装了 node.js 建一个 test 项目文件夹,初始化 package.json
    npm install express --save-dev  //安装 express
    
  • 创建 express.js 应用Demo,启动服务接口 ```javascript / express.js: 引入 express 模块,设置路由 / var express = require(‘express’)()

express.get(‘/‘,function (request, response) { // 路由 response.send(“hello world!”) // 传送HTTP响应 }) express.listen(3000) //监听3000端口,默认localhost: 127.0.0.1 || 0.0.0.0


- 运行$ node express.js 后打开浏览器输入 [http://localhost](http://localhost/):3000/
        ![](https://cdn.nlark.com/yuque/0/2019/png/493606/1577344917979-1046ce82-29f8-492a-a18a-e07d01db0f67.png)








- 现在我们需要接收到请求后通过访问数据库,这里我们选用的是mongoose 这个插件访问数据库

<br />

- 在test文件夹下安装mongoose

npm install mongoose —save-dev

<br />

- 在 express.js中继续写,导入 mongoose 模块

```javascript
/* 
  mongoose.js :建立数据库连接
 */
var mongoose = require("mongoose"); // 引入 mongoose
var url = "mongodb://localhost:27017/config"; // 本地数据库地址
mongoose.connect(url);

// connect() 返回一个状态待定(pending)的连接,可以用来判断连接成功或失败
var db = mongoose.connection;
db.on("error", console.error.bind(console, "connection error:"));
db.once("open", function() {
  console.log("Successful connection to " + url);
});

/*
  mongoose.js :建立数据库连接用 mongoose.Schema 插入数据
 */
var Schema = mongoose.Schema; //schema 都会映射到一个 MongoDB collection
let user = {
  name: String
};
var userSchema = Schema(user);
var ObjectList = mongoose.model("object", userSchema); 
//将schema编译为model构造函数,注意这里的object对应的是数据库的objects

/*
  express.js: 使用 mongoose 建立接口,添加数据到 MongoDB
 */
express.get("/object/list", function(request, response) {
  var list = [];
  ObjectList.find(function(err, products) {
    list = products;
    response.send(JSON.stringify(list));
  });
});
  • 这里我们定义一个get请求接口获取objects下的数据,我们可以现在可视化工具上先添加数据方便进行测试,这里添加了3条数据image.png


  • 添加之后,我们可以用Postman进行请求,结果如下image.png

好了,以上就是express + mongodb配合搭建服务的基本操作了,具体复杂业务就需要再深入去研究了