春风得意马蹄疾
一日看尽长安花

Node操作mongoDB数据库方法

目录结构

mongoose安装

使用node操作mongoDB需要引入插件mongoose
npm i mongoose -S

数据库连接(main.js)

//使用node操作数据库需要引入插件mongoose
const mongoose= require('mongoose');

//连接数据库:myDB为新创建数据库,在未插入数据之前,myDB在可视化工具中不会显示
mongoose.connect('mongodb://localhost:27017/myDB',{
    //将路径解析为数据库名
    useNewUrlParser:true,
    useUnifiedTopology:true
},(error)=>{
    //将连接数据库结果打印
    if(error){
        console.log('数据库连接失败');
        console.log(error);
    }else{
        console.log('连接数据库成功');
    }
})
//操作数据库:增
require('./handler/add');
//操作数据库:查
require('./handler/find');
//操作数据库:删
require('./handler/delete');
//操作数据库:改
require('./handler/update')

建表操作(Student.js)

//引入插件
const mongoose = require('mongoose');

//建表(集合),设置字段
const schema=mongoose.Schema({
    name:String,
    gender:String,
    age:Number
});
//声明集合的模型,在之后的增删改查中使用此模型
const Student=mongoose.model('student',schema);
//导出模型
module.exports=Student

增删改查(handler)

增(add.js)

//引入模型
const Student =require('../model/Student');
//设置一条模型为Student的数据
const zhangsan=new Student({name:'张三',age:22,genser:'男'});
//保存至数据库
zhangsan.save()
.then((data)=>{
    console.log('data:',data);
})
.catch((error)=>{
    console.log(error);
})

删(delete.js)

const Student =require('../model/Student');

//删除一个
Student.deleteOne({'name':'张三'})
//删除多个
Student.deleteMany({name:'张三'})
.then((data)=>{
    console.log(data);
})
.catch((error)=>{
    console.log(error);
})

//根据条件查询一个并删除
Student.findOneAndDelete({name:'张三'})
.then(data=>{
    console.log(data);
})
.catch(error=>{
    console.log(error);
})

//根据id查询一个并且删除
Student.findByIdAndDelete('5f7009a140b734c8c4e347de')
.then(data=>{
    console.log(data);
})
.catch(error=>{
    console.log(error);
})

改(update.js)

const Student =require('../model/Student');

//修改一个或者多个符合条件的

Student.updateOne({name:'张三'},{age:24})
Student.updateMany({name:'张三'},{age:26})
.then((data)=>{
    console.log(data);
})
.catch(error=>{
    console.log(error);
})

//查找到第一个符合条件的进行修改
Student.findOneAndUpdate({name:'张三'},{age:24})
.then(data=>{
    console.log(data);
})
.catch(error=>{
    console.log(error);
})

//根据ID查找并且进行修改
Student.findByIdAndUpdate('5f700786210b1d06751a3198',{gender:'女'})
.then(data=>{
    console.log(data);
})
.catch(error=>{
    console.log(error);
})

查(find.js)

const Student = require('../model/Student');

//查询所有
Student.find((error,data)=>{
    console.log(data);
})
//promise方式
Student.find()
.then((data)=>{
    console.log(data);
})
.catch((error)=>{
    console.log(error);
})

//按条件查询
Student.find({name:'李四'})
.then((data)=>{
    console.log(data);
})
.catch(error=>{
    console.log(error);
})

//查询一个
Student.findOne({name:'李四'})
.then((data)=>{
    console.log(data);
})
.catch((error)=>{
    console.log(error);
})

//查询数量
Student.countDocuments({name:'张三'})
.then(count=>{
    console.log(count);
})
.catch(error=>{
    console.log(error);
})
Like
Like Love Haha Wow Sad Angry
赞(0) 打赏
未经允许不得转载:栗子纪blog » Node操作mongoDB数据库方法
分享到: 更多 (0)
0 0 vote
Article Rating
Subscribe
提醒
guest
0 评论
Inline Feedbacks
View all comments

创作不易,打赏一下作者买瓶洗发露

支付宝扫一扫打赏

微信扫一扫打赏

0
Would love your thoughts, please comment.x
()
x