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从入门到放弃(八)_sql

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);
});