Mongodb增删改查

1.mongodb插入数据

db.集合名.insert(document)
db.stu.insert({“name”:“小明”,“age”:18})
db.stu.insert({_id:“20180101”,“name”:“小明”,age:18})
插入文档时,如果不指定_id参数,MongoDB会为文档自动指定一个唯一的Objectid
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.mongodb的保存

命令:db.集合名.save(document)
db.stu.save({_id:20170101,name:“小红”,age:21})
db.stu.save({name:“小华”,age:22})
如果文档的_id已经存在则修改,如果不存在则添加
在这里插入图片描述
在这里插入图片描述

3. mongodb的查询

命令:db.集合名.find()

3.1 简单查询
  • 方法find():查询
    db.集合名.find()
  • 方法findOne():查询,只返回第一个
    db.集合名.findOne(条件文档)
  • 方法pretty():将结果格式化;不能和findOne()一起用
    db.集合名.find(条件文档).pretty()
    在这里插入图片描述
3.2 比较运算符
  • 小于:$lt
  • 小于等于:$lte
  • 大于:$gt
  • 大于等于:$gte
  • 不等于:$ne

查询年龄大于等于18的人
db.stu.find({age:{$gte:18}})
在这里插入图片描述

3.3 逻辑运算符
  • and:
    查询年龄大于等于18,性别为true的人
db.stu.find({age:{$gte:18},sex:true})
db.stu.find({$and:[{age:{$gte:18}},{sex:true}]})

在这里插入图片描述
在这里插入图片描述

  • or
    查询年龄大于等于18,或性别为false的人
db.stu.find({$or:[{age:{$gte:18}},{sex:fasle}}]})

在这里插入图片描述

3.4 范围运算符
使用$in或者$nin

db.stu.find({age:{$in:[18,45]}})

在这里插入图片描述

3.5 正则表达式

db.stu.find({name:{$regex:“公”}})
在这里插入图片描述

3.6 自定义查询

db.stu.find({
$where:function(){
return this.age>20
}
})

在这里插入图片描述

3.7 skip和limit
  • 方法limit():用于读取指定数量的文档
    db.集合名.find().limit(数量)
    查询两条学生信息
    db.stu.find().limit(2)
    在这里插入图片描述
  • 方法skip():用于跳过指定数量的文档
    db.集合名.find().skip(数量)
    db.stu.find().skip(2)
    在这里插入图片描述

在这里插入图片描述

skip和limit组合可以实现翻页

在这里插入图片描述

3.8 投影

在查询到的返回结果中,只选择必要的字段
命令:db.集合名.find({},{字段名称:1,…})
参数为字段与值,值为1表示显示,为0表示不显示,特别注意:

  • 对于_id列默认是显示的,如果不显示需要明确设置为0
  • 对于其他不显示的字段不能设置为0

在这里插入图片描述
在这里插入图片描述

3.9 排序

方法sort(),用于对查询结果按照指定的字段进行排序
命令:db.集合名.find().sort({字段:值})
值为1为升序,值为-1为降序
在这里插入图片描述

先按年龄升序,再按性别降序
在这里插入图片描述

3.10 统计个数

方法count()用于统计结果集中文档条数
命令:db.集合名.find({条件}).count()
命令:db.集合名.count({条件})
在这里插入图片描述
在这里插入图片描述

4. mongodb的更新

db.集合名.update({query},{update},{multi:boolean,upsert:boolean})

  • query:查询条件
  • update:更新操作符
  • multi:可选操作,默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
  • multi参数必须和$set参数一起使用
  • upsert:可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
    在这里插入图片描述
    指定键值更新
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

5. mongodb的删除

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

  • query:可选,删除的文档的条件
  • 参数justone:(可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。

在这里插入图片描述
在这里插入图片描述

©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页