Mongodb的的增删改查

学习目标
  1. 掌握 mongodb插入数据的方法
  2. 掌握 mongodb保存数据的方法
  3. 掌握 mongodb查询数据的方法
  4. 掌握 mongodb查询结果的处理方法
  5. 掌握 mongodb更新数据的方法
  6. 掌握 mongodb删除数据的方法

1. mongodb插入数据

命令:db.集合名称.insert(document)

 

插文档时,如果不指定_id参数,MongoDB会为文档自动分配一个唯一的ObjectId

2. mongodb的保存

命令:db.集合名称.save(document)

 

如果文档的id已经存在则修改,如果id不存在则添加

3 mongodb的查询

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

可以使用以下数据进行练习

 

3.1 简单查询

3.2 比较运算符

 

3.3 逻辑运算符

逻辑运算符主要指与、或逻辑

 
 

3.4 范围运算符

使用$in$nin 判断数据是否在某个数组内

 

3.5 支持正则表达式

使用$regex编写正则表达式

 

3.6 自定义查询

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

 

3.7 skip和limit

 
 
 

注意:先使用skip在使用limit的效率要高于前者

3.8 投影

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

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

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

db.stu.find({},{_id:0,name:1,gender:1})

3.9 排序

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

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

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

 

3.10 统计个数

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

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

 

4 mongodb的更新

 
 

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

5 mongodb的删除

 
 

小结

  1. mongo shell中的增 db.集合名.insert({数据}) db.集合名.save({包含id的完整数据}) # 根据指定的id进行保存,存在则更新,不存在则插入
  2. mongo shell中的删 db.集合名.remove({条件}, {justOne: true/false})
  3. mongo shell中的改 db.集合名.update({条件}, {$set:{完整数据/部分字段}}, {multi: true/false})
  4. mongo shell中的查 db.集合名.find({条件}, {字段投影})