写于前文:在nodejs中引入mongoose模块进行连接MongoDB数据库并进行一系列增删改查等操作
而且,你做一个项目前,有一个清晰的 业务逻辑 是十分重要的
业务逻辑:
1:创建一个项目目录
express-mongoose
2:在 express-mongoose 文件夹创建一个package.json文件
npm init
3:在 express-mongoose 文件夹创建index.js文件
index.js
4:安装 express模块 和 mongoose模块
cnpm install express mongoose --save
5:在index.js文件内搭建服务器
5.1:引入express模块
var express = require("express");
5.2 实例化express,并赋值给app
var app = new express();
5.3 设置监听的端口号
app.listen(8080)
5.4 配置路由
app.get("/",function(req,res){
res.send("hello")
})
6:连接数据库
6.1 引入mongoose模块
var mongoose = require("mongoose");
6.2 通过mongoose.connect方法连接数据库服务器
mongoose.connect("数据库路径","去除警告",连接数据库时执行的回调函数)
6.3 定义Schema(定义表的结构,你也可以理解为定义字段)
var UserSchema = mongoose.Schema({
// 字段一定要和数据库里面文档的属性保持一致
})
6.4 定义模型
var UserModel = mongoose.model("模块名你可以写成集合名,但是首字母大写","定义的Schema","集合名")
6.5 定义完模型之后,我们就可以对数据库进行增删改查的操作
--------------------------------------------------------------------------------
7:模块化(封装连接数据库的模块)
7.1 在 express-mongoose 文件夹下创建一个文件夹,名称叫db
7.2 在db文件夹下面创建db.js文件
7.3 将连接数据库服务器的代码剪切到db.js文件里面
db.js文件内具体代码如下:
//引入mongoose模块
var mongoose = require("mongoose");
//连接数据库服务器
mongoose.connect("mongodb://127.0.0.1:27017/你需要连接的数据库名称",{ useNewUrlParser: true },function(err){
if(err){
console.log(err);
return;
}
console.log("数据库连接成功");
})
//module.exports导出
module.exports = mongoose;
7.4 导出mongoose模块
module.exports = mongoose
7.5 在后台服务器index.js文件内引入db.js文件
var mongoose = require("./db/db.js")
8:模块化(封装定义数据库字段的模块)
8.1 在db文件夹下创建一 .js 文件存储定义数据库字段的模块(eg: user.js
8.2 在user.js文件中导入封装连接数据库的模块
8.3 将连接数据库服务器的代码剪切到user.js文件里面
user.js文件内具体代码如下:
//引入封装连接数据库的模块
var mongoose = require("./db.js");
//定义Schema
var UserSchema = mongoose.Schema({
name : String,
age : Number
});
//module.exports导出
module.exports = UserSchema;
9:在index.js中引入自定义封装的模块
9.1 引入自定义的连接数据库的模块
var mongoose = require("./db/db.js");
9.2 引入自定义数据库字段的模块
var UserSchema = require("./db/user.js");
10: 定义模型
var UserModel = mongoose.model("User",UserSchema ,"user");
11: 对数据库进行增删改查的操作
对数据库的集合进行增删改查的操作
1.添加数据
var newData = new UserModel 模型)({
//实例化模型,传入增加的数据
})
newData.save();
2.删除数据
删除的集合名.deleteOne({ 删除条件 },function(err){
if(err){
console.log(err);
return;
}
console.log("删除成功");
})
3.修改数据
修改的集合名.updateOne({ 修改条件 },{ 修改的数据 },function(err){
if(err){
console.log(err);
return;
}
console.log("修改成功");
})
4.查看数据
查询的集合名.find({}, function (err, docs) {
if (err) {
console.log(err);
return;
}
// console.log(docs);
res.send(docs);
})