mongoose数据库的增删改查,小白一看就会

Mongoose数据库操作指南:增删改查实战
本文详细介绍了如何使用Mongoose进行MongoDB数据库的添加、查询、更新和删除操作,包括连接数据库、创建Schema、model实例、以及各种查询和修改方法的示例。

mongoose数据库的增删改查使用

add(添加数据)

/**
 * 与数据库创立连接
 */
//1.导入安装包
const mongoose = require('mongoose')
//2.链接数据库,库名-----------默认返回promise
mongoose.connect('mongodb://localhost/abcd001').then(()=>{
    console.log('数据库连接成功');
}).catch(err=>{
    console.log('数据库连接失败'+err);
})


/**
 * 根据京东字段插入用户
 */
//1.(创建一个)用户信息的Schema————————一个js文件
let userSchema = mongoose.Schema({
    userName:String,
    nickName:String,
    gender:Number,
    birthDay:Date,
    hobby:Array,
})

//2.符合Schemad的model————————一个js文件————(表名)集合名称,是负数模式
let userModel = mongoose.model('users',userSchema)

//3.符合model的一条用户数据————————在一起
let admain = new userModel({
    userName:'李四',
    nickName:'李白',
    gender:'2',
    // birthDay:'2000-08-12T06:35:40.000+00:00',
    birthDay:Date.now(),
    hobby:['喝水','唱歌']

})

//4.插入数据库————————在一起
//admain.save()
//返回函数
admain.save((err,result)=>{
    if (err) {
        console.log(err);
    } else {
        console.log('数据插入成功'+result);
    }
})

quires(查询数据)

/**
 * 与数据库创立连接
 */
//1.导入安装包
const mongoose = require('mongoose')
//2.链接数据库,库名-----------默认返回promise
mongoose.connect('mongodb://localhost/abcd001').then(()=>{
    console.log('数据库连接成功');
}).catch(err=>{
    console.log('数据库连接失败'+err);
})


/**
 * 根据京东字段插入用户
 */
//1.(创建一个)用户信息的Schema————————一个js文件
let userSchema = mongoose.Schema({
    userName:String,
    nickName:String,
    gender:Number,
    birthDay:Date,
    hobby:Array,
})

//2.符合Schemad的model————————一个js文件————(表名)集合名称,是负数模式
let userModel = mongoose.model('users',userSchema)

//3.执行查询
// userModel.findOne({userName:'小红'},function(err,result){
//     err?console.log('没有数据'+err):console.log(result);;
// })

//查询限制2条
// userModel.findOne({userName:'小红'},function(err,result){
//     err?console.log('没有数据'+err):console.log(result);;
// }).limit(2)

//不传 callback 参数
async function getData(){
    let rs = await userModel
    .find()
    .or([{ gender:2 }])//只找女生
    .sort({ _id:'desc' })//倒着排序
    .limit(2)//只展示两条
    .skip(2)//跳过前两条

    console.log(rs);
}
getData()

set(更改数据)

/**
 * 与数据库创立连接
 */
//1.导入安装包
const mongoose = require('mongoose')
//2.链接数据库,库名-----------默认返回promise
mongoose
.connect('mongodb://localhost/abcd001')
.then(()=>console.log('数据库连接成功'))
.catch(err=>console.log('数据库连接失败'+err))


/**
 * 根据京东字段插入用户
 */
//1.(创建一个)用户信息的Schema————————一个js文件
let userSchema = mongoose.Schema({
    userName:String,
    nickName:String,
    gender:Number,
    birthDay:Date,
    hobby:Array,
})

//2.符合Schemad的model————————一个js文件————(表名)集合名称,是负数模式
let userModel = mongoose.model('users',userSchema)

/**
 * 操作修改
 */
// async function setData(){
//     //1.查询
//     let hh = await userModel
//     .findOne({userName:'花花'})
//      console.log(hh);

//     //2.修改数据
//     hh.set({
//          nickName:'李白'
//     })

//     //3.重新插入数据
//     hh.save()
//     console.log(hh);
// }
// setData()


//query.findOneAndUpdate(conditions,updete,options,callback)// executes
//修改
//查询条件,更新的数据
userModel.findOneAndUpdate({nickName:'李白'},{userName:'橘子'},{new:true},(err,rs)=>console.log(rs))
 

delete(删除数据)

/**
 * 与数据库创立连接
 */
//1.导入安装包
const mongoose = require('mongoose')
//2.链接数据库,库名-----------默认返回promise
mongoose
.connect('mongodb://localhost/abcd001')
.then(()=>console.log('数据库连接成功'))
.catch(err=>console.log('数据库连接失败'+err))


/**
 * 根据京东字段插入用户
 */
//1.(创建一个)用户信息的Schema————————一个js文件
let userSchema = mongoose.Schema({
    userName:String,
    nickName:String,
    gender:Number,
    birthDay:Date,
    hobby:Array,
})

//2.符合Schemad的model————————一个js文件————(表名)集合名称,是负数模式
let userModel = mongoose.model('users',userSchema)

//3.删除
// Model.remove()//可选择删除一条还是多条
// Model.deleteOne() //删除一个(删除第一条)
// Model.deleteMany()//删除全部
//userModel.deleteOne({userName:'小兰'},(err,rs) => console.log(rs))//删除一个
//userModel.deleteMany({userName:'小红'},(err,rs) => console.log(rs))
//userModel.remove({userName:'张三'},(err,rs) => console.log(rs))

//当single:true删除一条;当single:false删除所有
userModel.remove({userName:'李四'},{signle:true},(err,rs) => console.log(rs))

创作不易,如有需要或转载请注明出处!谢谢~

官网参考地址:http://mongoosejs.net/docs/guide.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

钟Bubble

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值