MongoDB对数据的增删改查

2018-09-13  本文已影响0人  十九楼的清风

一、插入语句
1、insert 通过insert语句在集合(相当于mySQL的表)中插入一个文档

db.users.insert({name:'zhangsan', age: 18, gender: '男'})

2、insertOne

db.users.insertOne({name:'zhangsan', age: 18, gender: '男'})

3、一次性插入多行数据

db.users.insert(
  [{name:'lisi',age:20,gender:'男'},{name:'wangwu',age:21,gender:'女'}]
)

4、还可以使用

db.users.insertMany(
  [{name:'lisi',age:20,gender:'男'},{name:'wangwu',age:21,gender:'女'}]
)

5、使用save

db.users.save({name:'zhaoliu', age: 31, gender: '男'})

二、更新修改语句

  1. 改变符合条件的第一条数据,修改一条
    update(第一个参数表示条件,第二个参数修改内容)
db.users.update(
  {age: 18}, 
  {
    $set: {
      name: 'niuqi'
    }
  }
)
  1. 改变符合条件的所有条数据,修改所有匹配条件的文档
    updateMany(第一个参数表示条件,第二个参数修改内容)
db.users.updateMany(
  {age: 18},
  {
    $set: {
      gender: '女'
    }
  }
)

三、删除语句

  1. 删除一个
db.users.deleteOne(
  {name: 'zhangsan'}
)
  1. 删除多个
db.users.deleteMany(
  {gender: '女'}
)
  1. 全部删除(清空集合)
db.users.remove({})

四、查询语句

  1. db.movie.find()默认查询所有集合中数据
db.movie.find()
  1. 带过滤条件查询
db.movie.find(
  {year: '1994'},
  {title: 1, year: 1}
)
db.movie.find(
  {year: '1994'},
  {title: 1, year: 1, _id: 0}
)

title: 1中的1代表存在,不代表数字, 0代表不显示,1和0都不带引号~~~
find()里第一个{}里面是查询条件,第二个{}里面是控制显示条件(用0和1选择控制)

  1. size() 返回多少条数据
db.movie.find(
  {},
  {title: 1, year: 1, _id: 0, 'rating.average': 1}
).size()
  1. skip(3) 跳过前3条数据
db.movie.find(
  {},
  {title: 1, year: 1, _id: 0, 'rating.average': 1}
).skip(3)
  1. .limit(5) 截止到倒数第5条数据
db.movie.find(
  {},
  {title: 1, year: 1, _id: 0, 'rating.average': 1}
).limit(5)

小提示: skip可以和limit合起来用,截取中间任意一段数据,可以用来做分页

db.movie.find(
  {},
  {title: 1, year: 1, _id: 0, 'rating.average': 1}
).skip(3).limit(5)

6.sort()排序

db.movie.find(
  {},
  {title: 1, year: 1, _id: 0, 'rating.average': 1}
).sort(
  {'rating.average': 1}
)

这里面的1代表升序, -1代表降序排列
提示:skip,limit,sort三种可以一起用,而且没有顺序,都是先排序。

五、常见的集合数据查询

query1.png
query2.png
query3.png
上一篇下一篇

猜你喜欢

热点阅读