一、MongoDB 下载、安装与启动
数据库选择 MongoDB 是因为其结构与 JSON 数据格式很像。基本了解 MongoDB 的概念就好,主要是安装上数据库,并进行简单的增删操作。
安装并运行
- 下载:MongoDB网址 https://www.mongodb.com/download-center/community
- 配置:进入解压后的目录,为MongoDB添加默认的/data/db数据库存储目录 $ mkdir data/db
这里我的路径是在E盘下面
启动:进入bin目录下,启动 mongodb 数据库服务器
- 可以设置start.bat,这样就可以直接双击启动
mongod 是用来连接到 mongodb 数据库服务器的,即服务器端。可以看到数据库启动成功后的信息,例如pid、port、dbpath等
mongo 是用来启动 MongoDB shell 的,是 mongodb 的命令行客户端,启动成功后可以看到连接成功的地址与端口号:mongodb://127.0.0.1:27017
二、adminMongo 可视化工具
adminMongo:一款 MongoDB 可视化数据管理工具
github地址为:https://github.com/mrvautin/adminMongo
安装与启动
git clone https://github.com/mrvautin/adminMongo.git
cd adminMongo
npm install
npm start
启动成功后可以看到地址与端口号为http://localhost:1234
进入http://localhost:1234后可以看到下面这样的界面:
Connection name:随便写一个,必填项
Connection string: 这里写的是启动的mongo服务 mongodb://127.0.0.1:27017
点击 Connect 连接,就会出现类似下面的可视化界面,连接成功!
三、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条数据
- 添加之后,我们可以用Postman进行请求,结果如下
好了,以上就是express + mongodb配合搭建服务的基本操作了,具体复杂业务就需要再深入去研究了