Nodejs+MongoDB 增删改查
一、Mongodb插入数据
//连接数据库
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/playground',{useNewUrlParser:true,useUnifiedTopology: true})
.then(()=>console.log('数据库连接成功'))
.catch((err)=>console.log(err,'数据库连接失败'))
//创建规则集合
const courseSchema = new mongoose.Schema({
name: String,
author: String,
isPublished: Boolean
});
// 使用规则创建集合
// 1.集合名称
// 2.集合规则
const Course = mongoose.model('Course', courseSchema) //coures
//第一种数据插入方式
/*const course = new Course({
name:'Nodejs学习',
author:'CXC',
isPublished: true
})
course.save();*/
//第二种数据插入方式
Course.create({name:'前端学习', author: 'cxc', isPublished: false},(err,result)=>{
console.log(err);
console.log(result)
})
Course.create({name:'前端学习1', author: 'cxc', isPublished: false})
.then(result=>console.log(result))
.catch(err=>console.log(err))
MongoDB Compass 内显示已成功插入数据
二、Mongodb导入数据
- 找到MongoDB安装文件夹下的mongoimport 文件;
- D:\Program Files\MongoDB\Server\4.2\bin ;
- 在系统环境变量path中添加该路径;
- 使用mongoimport –d 数据库名称 –c 集合名称 --file 要导入的文件位置以及名称;
5.导入成功
三、
Mongodb数据库查询文档
.find({}) 返回数组形式,返回一组文档
.findOne({}) 返回一条文档 默认返回当前集合中第一条文档
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:/playground',{useNewUrlParser: true,useUnifiedTopology: true})
.then(()=>console.log('数据库连接成功'))
.catch(err=>console.log(err,'数据库连接失败'))
const userSchema = mongoose.Schema({
name:String,
age:Number,
email:String,
hobbies:[String]
})
const User = mongoose.model('User',userSchema)
//查询用户集合中的所有文档
//User.find().then(result=>console.log(result))
User.find({_id: '5c09f236aeb04b22f8460967'}).then(result=>console.log(result))
//默认返回当前集合中第一条文档
//User.finOne().then(result=>console.log(result));
User.findOne({_id: '5c09f236aeb04b22f8460967'}).then(result=>console.log(result));
四、
Mongodb数据库删除文档
const User = mongoose.model('User',userSchema);
//删除单个 如果有多个,则删除第一个匹配项
User.findOneAndDelete({hobbies:'打豆豆'}).then((result)=>console.log(result))
//删除多个
User.deleteMany().then((result)=>console.log(result))
五、
Mongodb数据库更新文档
const User = mongoose.model('User',userSchema);
//更新单个 如果有多个,则更新第一个匹配项
User.updateOne({name:'狗蛋'},{name:'狗剩'})
.then((result)=>console.log(result))
//更新多个
User.updateMany({},{name:'陈六'})
.then((result)=>console.log(result))