一、express+mongodb
安装:npm i mongoose -S
mongodb下载地址:https://www.mongodb.com
mongodb/connect.js
var mongoose = require("mongoose");
var hostname = "localhost";
var port = 27017;
var dbName = "test";
var user = "?";
var pwd = "?";
var db_conn_url = `mongodb://${hostname}:${port}/${dbName}`;
mongoose.connect(db_conn_url, (err) => {
if (err) {
console.log("数据库连接失败");
console.log(err);
throw err;
}
});
var conn = mongoose.connection;
conn.on("open", () => {
console.log("open--数据库正在连接");
});
conn.on("connected", () => {
console.log("connected--连接成功");
});
conn.on("disconnected", () => {
console.log("disconnected--断开连接");
});
conn.on("error", (err) => {
console.log("数据库连接失败" + err);
});
app.js
require("./mongodb/connect");
mongodb/model.js
var mongoose = require("mongoose");
var Schema = mongoose.Schema;
// 表结构
var user_schema = new Schema({
id: String,
username: String,
nickname: String,
tag: Array,
phone: Number,
password: String,
});
// 表模型
exports.user_model = mongoose.model("users", user_schema);
routes/index.js
var express = require("express");
var router = express.Router();
const { user_model } = require("../db/model");
router.get("/", function (req, res, next) {
res.render("index", { title: "Express" });
});
// 查
router.get("/getUserInfo", (req, res) => {
user_model
.find()
.then((result) => {
res.json({
code: 200,
massage: "添加成功",
data: result,
});
})
.catch((error) => {
console.log(error);
res.json({
code: 500,
massage: "服务器异常,请稍后重试",
});
});
});
// 增
router.get("/addUserInfo", async (req, res) => {
var query = req.query;
user_model
.insertMany(query)
.then((res) => {
res.json({
code: 200,
massage: "数据添加成功",
});
})
.catch((error) => {
console.log(error);
res.json({
code: 304,
massge: "服务器异常,请稍后重试",
});
});
});
// 删
router.get("/delUserInfo", (req, res) => {
var query = req.query;
user_model
.deleteOne(query)
.then((result) => {
res.json({
code: 200,
message: "数据删除成功",
});
})
.catch((error) => {
console.log(error);
res.json({
msg: 500,
message: "服务器异常,请稍后重试",
});
});
});
// 改
router.get("/updateUserInfo", (req, res) => {
var _id = req.query._id;
console.log(req.query);
user_model
.updateOne({ _id }, { $set: req.query })
.then((result) => {
console.log(result);
res.json({
code: 200,
message: "数据更新成功",
});
})
.catch((error) => {
console.log(error);
res.json({
code: 500,
mesage: "服务器异常,请稍后重试",
});
});
});
module.exports = router;
二、express+mysql
安装:npm i mysql -S
小皮服务器下载地址:https://www.xp.cn/
mysql/db.js
var mysql = require("mysql");
var db = mysql.createConnection({
host: "localhost",
user: "root", // 数据库用户名
password: "root", // 数据库密码
database: "databasename",
});
db.connect();
module.exports = db;
routes/users.js
var express = require("express");
var router = express.Router();
var db = require("../mysql/db");
// 查
router.get("/", function (req, res) {
var limit = 2;
var params = { a: 1 };
// var params = {};
var sql = "select * from users where ? limit ?";
// 如果对象为空,则去掉'where',避免报错
if (Object.keys(params).length === 0) {
sql = sql.replace(/[\s]where{1}/g, "");
}
db.query(sql, [params, limit], (error, data) => {
if (error) throw error;
res.json({
code: 200,
msg: "获取成功",
data,
});
});
});
// 改
router.get("/update", (req, res) => {
var params = { id: 3, username: "张三123", age: 23 };
var query = { id: params?.id };
var sql = "update users set ? where ?";
db.query(sql, [params, query], (error, data) => {
if (error) throw error;
res.json({
code: 200,
msg: "更新成功",
data,
});
});
});
// 增
router.get("/insert", (req, res) => {
var params = { username: "王五", gender: "男", age: 28 };
var sql = "insert into users set ?";
// 只有一个问号时,可以把[params],简化为params
db.query(sql, params, (error, data) => {
if (error) throw error;
res.json({
code: "200",
msg: "插入成功",
data,
});
});
});
// 删
router.get("/delete", (req, res) => {
params = { id: 4 };
var sql = "delete from users where ?";
db.query(sql, [params], (error, data) => {
if (error) {
throw error;
}
res.json({
code: 200,
msg: "删除成功",
data,
});
});
});
module.exports = router;