Node.js从入门到放弃(八)

前言

这是该系列文章的第八篇,主要介绍数据库和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从入门到放弃(八)_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);
	});