mongoose

mongoose

概念

在代码中连接并且操作MongoDB的插件
node中可以使用原生代码对MongoDB进行连接和操控,但是很麻烦,因此直接选择使用mongoose插件

局部下载安装

npm i mongoose

mongoose类型

String、Number、Object、Array

mongoose使用–增删改

//引入mongoose对象
let mongoose=require('mongoose');
let url="mongodb://localhost:27017/stu_sys_80"
//连接数据库
mongoose.connect(url)
//监听
mongoose.connection.on("connected",()=>{
    console.log("数据库已连接");
})

//创建约束Schema
let Schema=mongoose.Schema;
//获得具体的约束对象
let usersSchema=new Schema({
    username:String,
    password:String
},{versionKey:false})
//versionKey:false  :避免产生无意义字段
//获得model模型
//参数1 :自定义名字(连表查询有关)
//参数2 :具体的约束对象
//参数3 : 集合名
let usersModel=mongoose.model("xx",usersSchema,"users")


//crud操作
// 添加 
async function add(){
    let res=await usersModel.create({
        username:"aaa",
        password:"222"
    })
    console.log(res);//添加成功后的那个对象包含了_id
    if(res&&res._id){
        console.log("成功");
    }
}
add();

//删除
async function del(){
    let res=await usersModel.deleteOne({_id:"62e498efe26137f211d3c35b"})
    console.log(res);//{ acknowledged: true, deletedCount: 1 }
    if(res.deletedCount==1){
        console.log("成功");
    }
}
// del();

//修改
async function upd(){
    let res=await usersModel.updateOne({_id:"62e49a456db99e4f21c9e5c9"},{username:"CCC"})
    console.log(res);
    if(res.modifiedCount==1){
        console.log("成功");
    }
    // {
    //     acknowledged: true,
    //     modifiedCount: 1,
    //     upsertedId: null,
    //     upsertedCount: 0,
    //     matchedCount: 1
    //   }
}
upd()

mongoose使用–查询

async function find(){
    let res=await usersModel.find({username:"aaa"})
    console.log(res);
}
find()

express中引用mongoose操作数据库

项目结构:

public 前端资源
routes
	users.js  -->路由文件
controllers 
	usersController.js --->业务(请求、处理数据、响应)
models
	usersModel.js---->mongodb模型约束
utils
	db.js --->连接数据库
app.js :入口文件 
	
app.js  引入了  db.js
        引入了  routes/user.js
        
路由文件routes/user.js  引入了  业务文件../controllers/usersController
业务文件../controllers/usersController   引入了模型文件  ../models/usersModel
模型文件  ../models/usersModel 引入了 require('mongoose');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值