上篇文章讲到了启动服务接收客户端http请求,拿到数据后,就需要做入库操作了,以便后续查找数据!这里个人推荐mongodb,它的优缺点就不多做描述了,有兴趣的可以查资料了解下。
准备工作:
- 安装mongodb,下载地址:https://www.mongodb.com/download-center#community(目前最新版本只支持64位系统了)!
- 创建数据库文件存放位置,D:\work\MongoDB\data\db(D:\work\MongoDB是你的mongodb安装路径),创建完后就可以启动数据库服务了,在D:\work\MongoDB\bin目录下打开cmd,输入命令:mongod --dbpath D:\work\MongoDB\data\db.
- 安装可视化工具连接数据库,这里我用的是一款开源免费的工具Robo 3T,下载地址:https://robomongo.org/,安装完成后就可以连接到我们本地数据库了。
准备工作做完了,我们来开始在nodejs项目中操作你的数据库:
- 利用Robo 3T创建新连接test,在test连接下创建Database,命名为infor,然后创建collection,命名为user
- 在nodejs项目中,创建db.js文件,添加以下代码连接数据库:
var mongoose = require('mongoose');
var dbURL = 'mongodb://127.0.0.1:27017/infor';
mongoose.connect(dbURL, { useNewUrlParser: true });
/**
* 连接成功
*/
mongoose.connection.on('connected', function () {
console.log('Mongoose connection open to ' + dbURL);
});
/**
* 连接异常
*/
mongoose.connection.on('error',function (err) {
console.log('Mongoose connection error: ' + err);
});
/**
* 连接断开
*/
mongoose.connection.on('disconnected', function () {
console.log('Mongoose connection disconnected');
});
module.exports = mongoose;
- 新建user.js文件,添加以下代码创建表结构
var mongoose = require('./db.js'),
Schema = mongoose.Schema
var UserSchema = new Schema({
name: 'String',
age: 'Number',
createDate: 'Date'
}, {
collection: 'user'
});
module.exports = mongoose.model('user', UserSchema);
- 插入数据,修改router.js代码
var express = require("express");
var router = express.Router();
var userSchema = require('./user.js');
router.use("/test", function (req, res) {
console.log(req.query);
var name = req.query.name;
var age = req.query.age
save(name, age);
res.send("hello world!!");
res.end();
});
var save = function (name, age) {
var user = new userSchema({
name: name,
age: age,
createDate: new Date()
});
user.save(function (err, res) {
if (err) {
console.log("Error:" + err);
}
});
}
module.exports = router;
- 浏览器中发送请求
- Robo 3T中打开user表
总结:mongoose为nodejs项目提供了操作mongodb的方法,其他的具体操作就不多描述了,这里提供文档地址供大家查询.
mongoose文档地址:https://cn.mongoosedoc.top/docs/index.html
mongodb官方文档:https://docs.mongodb.com/v3.4/reference/operator/aggregation/substr/
mongodb中文手册:https://cn.mongoosedoc.top/docs/index.html
上一篇:nodejs之http请求解析,https://blog.csdn.net/u013196396/article/details/85342388