«

Mongodb的增删改查

时间:2023-3-1 19:41     作者:wen     分类: mongodb


一、插入数据

# 添加集合数据
db.nor_col.insert({"name":"大都督","wife":"小乔","num":1})
# 批量添加集合数据
db.nor_col.insert([{"name":"大都督","wife":"小乔","num":1},{"name":"孙策","wife":"大乔","num":2}])

二、保存

# 保存
db.stu.save({'_id': 20211206, "name": "wenxk", "gender": 2})

三、查询

# 查询
db.stu.find()

1、简单查询

2、比较运算符

# 查询年龄大于18的所有学生
db.stu.find({age:{$gte:18}})

3、逻辑运算符

4、范围运算符

5、正则表达式

6、自定义查询

mongo shell是一个js的执行环境,使用$where写一个函数,返回满足条件的数据

# 查询年龄大于30的学生
db.stu.find({
    $where:function(){
        return this.age>30;
    }
})

7、skip和limit

8、投影

在查询到的返回结果中,只选择必要的字段

命令:db.集合名称.find({},{字段名称:1,...})

参数为字段于值,值为1表示显示,值为0不显示,特别注意:

9、排序

方法sort(),用于对查询结果按照指定的字段进行排序

命令:db.集合名称.find().sort({字段:1,...})

参数1为升序排列,参数-1位降序排序

# 根据性别降序,再根据年龄升序
db.stu.find().sort({gender:-1,age:1})

10、统计个数

方法count()用于统计结果集中文档条数

命令:db.集合名称.find({条件}).count()

命令:db.集合名称.count({条件})

db.stu.find({gender:true}).count()
db.stu.count({age:{$gt:20},gender:true})

四、更新

db.集合名称.update({query},{update},{multi:boolean})
# 全文档进行覆盖更新
db.stu.update({name:'hr'},{name:'mnc'})
# 指定键值更新操作
db.stu.update({name:'hr'},{$set:{name:'hys'}})
# 更新全部
db.stu.update({},{$set:{gender:0},{multi:true}})

注意:"multi update only works with $ operators"

multi参数必须和$set一起使用

五、删除

db.集合名称.remove({query},{justOne:boolean})

标签: mongodb