MongoDB常用sql指令

1 数据库常用指令

  • show dbs 查看mongoDB所有库
  • use dbName 创建/切换 数据库
  • db.dropDataBase() 删库与跑路,删除当前数据库
  • db.help 查看帮助指令
  • db.stats() 查看当前数据库信息,如collections即集合的数量
  • db.getName() 查看当前数据库名
  • db.getCollectionNames() 列出数据库所有集合的姓名
  • db.version() 查看数据库版本信息
  • db.getMongo() 查看连接地址 //connection to 127.0.0.1:27017

2 Collection集合常用指令

  • db.createCollection(cName,fieldObj) 创建集合,如db.createCollection("collName", {size: 20, capped: true, max: 100});
  • db.getCollection(cName) 拿到数据库.集合名字
  • db.collName.isCapped() 集合是否定容
  • db.getCollectionNames() 显示当前数据库的所有集合
  • db.printCollectionStats() 显示当前数据库下所有集合的状态信息

2.1 集合的增删改

  • db.users.save|insert(fieldObj) 向集合插入记录
  • db.users.insertMany([{name:"111"},{name:"112"},{name:"113"}]) 插入多条数据
  • db.users.remove(queryObj) 删除符合条件的集合记录
  • db.users.update({age:25},{$set:{name:'name'}},false,true) 更新记录 一参代表查询条件,二参代表更新的值,相当于update 后面的set,三参是否将参数2插入到集合中,true(没找到就插入),false(没找到不插入),四参false(只更新到查询到的第一条记录),true(更新查询到的所有记录)

2.2 集合的查询

  • db.CollectionName.find() 查询所有
  • db.Cname.distinct(field) 去重查询,查找某字段去重之后的结果
  • db.Cname.find({age:20}) 根据字段值查询

2.2.1 条件查询、模糊查询

  • db.Cname.find({age:{$lt:20}}) 条件查询,小于
  • db.users.find({age:{$gt:30}}): 条件查询,大于
  • db.users.find({age:{$gte:48}}): 条件查询,大于等于
  • db.users.find({age:{$lte:48}}): 条件查询,小于等于
  • db.users.find({age:{\(gt:47,\)lt:50}}) 条件查询,区间之内
  • db.users.find({name:/^t/}) 模糊查询,t开头
  • db.users.find({name:/c$/}) 模糊查询,c结尾
  • db.users.find({name:/s/}) 模糊查询,包含s

2.2.2 查询指定列 排序

  • db.users.find({},{name:1}) 查询结果只包含name列和id列
  • db.users.find({age:{$gt:40}},{name:1,age:1}) 条件查询指定列
  • db.users.find({},{name:1,age:1,_id:0}).sort({age:-1}) 降序条件查询指定列

2.2.3 分页查询

  • db.users.find({},{name:1,age:1,_id:0}).limit(3).skip(2).sort({age:-1}) 分页查询第3-5条数据,按年龄降序排列(注意,会先拿排序结果再分页,而不是拿分页结果再排序)
  • db.users.findOne() 查询第一条数据
  • db.users.find({$or:[{age:25},{age:20}]}) 或查询
  • db.users.find().count() 查询记录数
posted @ 2020-03-25 19:50  IslandZzzz  阅读(509)  评论(0)    收藏  举报