nodejs之mongodb运用

上篇文章讲到了启动服务接收客户端http请求,拿到数据后,就需要做入库操作了,以便后续查找数据!这里个人推荐mongodb,它的优缺点就不多做描述了,有兴趣的可以查资料了解下。
准备工作:

  1. 安装mongodb,下载地址:https://www.mongodb.com/download-center#community(目前最新版本只支持64位系统了)!
    在这里插入图片描述
  2. 创建数据库文件存放位置,D:\work\MongoDB\data\db(D:\work\MongoDB是你的mongodb安装路径),创建完后就可以启动数据库服务了,在D:\work\MongoDB\bin目录下打开cmd,输入命令:mongod --dbpath D:\work\MongoDB\data\db.
  3. 安装可视化工具连接数据库,这里我用的是一款开源免费的工具Robo 3T,下载地址:https://robomongo.org/,安装完成后就可以连接到我们本地数据库了。
    在这里插入图片描述

准备工作做完了,我们来开始在nodejs项目中操作你的数据库:

  1. 利用Robo 3T创建新连接test,在test连接下创建Database,命名为infor,然后创建collection,命名为user
    在这里插入图片描述
  2. 在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;
  1. 新建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);
  1. 插入数据,修改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;
  1. 浏览器中发送请求
    在这里插入图片描述
  2. 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

猜你喜欢

转载自blog.csdn.net/u013196396/article/details/85606351
今日推荐