前言

这是该系列文章的第八篇,主要介绍数据库和Node.js的结合

mongodb

安装

  • npm i mongoose  

插入

        var mongoose = require('mongoose') //业内常用mongoose而不用官方的mongodb
        mongoose.connect('mongodb://localhost/User') //连接数据库
        var Schema = mongoose.Schema //  设计表结构
        var userSchema = new Schema({
              name: {
                type: String,
                required: true // 必须有
              },
              age: {
                type: String //非必须填写
              }
        })

        var User = mongoose.model('User', userSchema)
        //添加数据
        new User({
          name: 'lengyuexin',
          age: '18'
        }).save(function (err) {
          if (!err)
            console.log("添加成功");
        })

查询

    User.find(function (err, data) {
      if (err) {
        console.log('查询失败')
      } else {
        console.log(data)
      }
    })

更新

    User.update({name:"lengyuexin"}, {
      name: 'yangmengyan'
    }, function (err) {
      if (!err) {
        console.log('更新成功')
      }
    })

删除

    User.remove({
        name: 'yangmengyan'
      },
      function (err) {
        if (!err) {
          console.log('删除成功')
        }
      })

mysql

安装

  • npm i mysql

目录结构

Node.js从入门到放弃(八)_数据库

db.config.js

//数据库配置文件,db.config.js
module.exports = {
    host: 'localhost',
    port: 3306,
    database: 's',
    user: 'root',
    password: 'root'
};

query.js

//自定义封装函数并导出 ,query.js
    var mysql = require('mysql'); //引包
    var databaseConfig = require('./db.config.js'); //加载数据库配置文件db.config.js
    //向外暴露通用增删改查方法query
    module.exports = {
        query: function(sql, params, callback) {
            //创建链接
            var connection = mysql.createConnection(databaseConfig);
            connection.connect(function(err) {
                if (err) {
                    throw err;
                }
                //开始数据操作
                connection.query(sql, params, function(err, results, fields) {
                    if (err) {
                        throw err;
                    }
                    //将查询出来的数据返回给回调函数
                    callback(results, fields);
                    connection.end(); //关闭连接
                });
            });
        }
    };

app.js

运行app.js 之前请确保本地安装且成功启动了mongodb

    var outQuery = require('./query.js'); //引包
    var sql = 'select * from stu';
    outQuery.query(sql, function(error, results, fields) {
        if (!error)
            console.log(results);
   });