数据操作
//3.设置回调 01.连接成功的回调 once只执行一次
mongoose.connection.once('open',()=>{
// console.log('连接成功');
.....数据操作.....
}
4.创建插入
//5.创建文档的结构对象
let BookSchema =new mongoose.Schema({
name:String,
author:String,
price:Number,
is_hot:Boolean,
tags:Array,
pub_time:Date
});
//6.创建模型对象 需要操作的集合名称
let BookModel=mongoose.model('novel',BookSchema);
//7.新增
7.新增
BookModel.create({
name:'红楼梦',
author:'曹雪芹',
price:120,
is_hot:true,
tags:['金陵十二钗','家族','情感'],
pub_time:new Date()
}).then((err,data)=>{
if(err){
console.log(err);
return;
}
console.log(data);
//8.关闭数据库连接 项目运行过程中不会添加该代码
mongoose.disconnect();
});
5.mongoose删除文档
db.novels.find();//查看文档下的数据
//7.删除单个(第一个)
// BookModel.deleteOne({_id:'64ed67985d2e0cd914c32569'}).then((err,data)=>{
// if(err){
// console.log(err);
// return;
// }
// console.log(data);
// })
//7.批量删除
BookModel.deleteMany({is_hot:'true'}).then((err,data)=>{
if(err){
console.log(err);
return;
}
console.log(data);
})
})
6.mongoose更新
//7.更新
// BookModel.updateOne({ name:'红楼梦',},{author:'李盈盈',}).then((err,data)=>{
// if(err){
// console.log(err);
// return;
// }
// console.log(data);
// })
//批量更新
BookModel.updateMany({ price:50,},{is_hot:false}).then((err,data)=>{
if(err){
console.log(err);
return;
}
console.log(data);
})
7、mongoose读取文档
//查找单一数据
BookModel.findOne()
BookModel.findById()
//批量查找
BookModel.find()
BookModel.find({author: '王力宏'}
8、mongoose条件判断
{price:{$gt:20}} 等价于 price>20
> 使用 $gt
< 使用 $lt
>= 使用 $gte
<= 使用 $lte
!== 使用 $ne
//使用
BookModel.find({price:{$gt:20}},())
9、mongooes逻辑判断
{$or:[{age:18},{age:24}]} === 18||24
$or 逻辑或的情况、$and 逻辑与的情况
{$and:[{price:{$gt:20}},{price:{$lt:100}}]} ===price>20&&price<80
10、正则表达式
db.students.find({name:/三/});
BookModel.find({name:new RegExp('水')})