MongoDB的基本命令

一、库相关

1.1 查看数据库列表
show dbs
1.2 进入数据库
use 库名
1.3 查看当前库
db.getName() 或 db
1.4 查看库中的集合
show collections
1.5 查看库状态
db.stats()
1.6 查看库版本
db.version()
1.7 查看当前db的连接机器地址
db.getMongo()
1.8 创建库
use 库名 #库名不存在,自动创建。但是,如果不插入数据,切换库后会被自动删除
1.9 删除当前库
db.dropDatabase()
1.10 从指定主机上克隆数据库
db.cloneDatabase("127.0.0.1")
1.11 修复当前数据库
db.repairDatabase()
1.12 更多命令
db.help()

二、集合相关

2.1 查看当前db的所有集合
db.getCollectionNames() 或 show collections
2.2 当前db所有聚集索引的状态
db.printCollectionStats()
2.3 查看指定集合
db.getCollection(集合名称).find({})
2.4 查看指定集合的数据条数
db.集合名称.count()
2.5 查看指定集合空间大小
db.集合名称.dataSize()
2.6 查看指定集合所在库
db.集合名称.getDB()
2.7 修改指定集合名称
db.集合名称.renameCollection(集合新名称)
2.8 添加数据到指定集合
db.集合名称.save(json串)
db.集合名称.insert(json串)
db.集合名称.insertOne(json串)
db.集合名称.insertMany(json串数组)
2.9 删除指定集合
db.集合名称.drop()
2.10 创建索引
db.集合名称.ensureIndex({字段名:1})
2.11 查询当前聚集集合所有索引
db.集合名称.getIndexes()
2.12 查看总索引记录大小
db.集合名称.totalIndexSize()
2.13 读取当前集合的所有index信息
db.集合名称.reIndex()
2.14 删除指定索引
db.集合名称.dropIndex(索引名称)
2.15 删除所有索引
db.集合名称.dropIndexes()

三、用户相关

3.1 添加用户
db.addUser("name");
db.addUser("userName", "password", true) # 用户名,密码,是否只读
3.2 数据库认证、安全模式
db.auth("userName","password")
3.3 显示当前所有用户
show users
3.4 删除用户
db.removeUser("userName")

四、案例

4.1 新增文档(记录)
db.user.save({
    "name":"张三",
    "age":26,
    "gender":"男"
})
#如果user集合不存在,会自动创建

类似于 insert into user(name,age,gender) values("张三",26,"男")
4.2 集合查询
测试数据如下图

4.2.1 查询所有记录
db.user.find()

db.getCollection('user').find({})

类似于 select * from user;
4.2.2 去重查询
db.user.distinct("name")

类似于 select distict name from user
4.2.3 = 查询
db.user.find({"name":"李四"})

类似于 select * from user where name = "李四"
4.2.4 > 查询
db.user.find({"age":{$gt:18}})

类似于 select * from user where age > 18
4.2.5 >= 查询
db.user.find({"age":{$gte:23}})

类似于 select * from user where age >= 23
4.2.6 < 查询
db.user.find({"age":{$lt:23}})

类似于 select * from user where age < 23
4.2.7 <= 查询
db.user.find({"age":{$lte:23}})

 类似于 select * from user where age <= 23
4.2.8 >= 且 <= 查询
db.user.find({"age":{$gte:18,$lte:22}})

类似于 select * from user where age >= 18 and age <= 22
4.2.9 或、与 查询
db.user.find({"name":"张三","age":23}) 或

db.user.find({$and:[{"name":"张三"},{"age":23}]}).pretty()

类似于 select * from user where name = "张三" and age = 23

db.user.find({$or:[{"age":18},{"age":22}]})

类似于 select * from user where age = 18 or age = 22
4.2.10 like 查询
db.user.find({"name":/李/})

类似于 select * from user where name like '%李%'

db.user.find({"name":/^李/})

类似于 select * from user where name like '李%'
4.2.11 指定列查询
db.user.find({},{"name":1,"gender":1})

类似于 select id,name,gender fomr user

db.user.find({"age":22},{"name":1,"gender":1})

类似于 select id,name,age from user where age = 22
4.2.12 排序查询
db.user.find({}).sort({age:-1})

类似于 select * from user order by age desc

db.user.find({}).sort({age:1})

类似于 select * from user order by age asc
4.2.13 分页查询
db.user.find({}).limit(3)

类似于 select * from user limit 3

db.user.find({}).skip(0).limit(3)

类似于 select * from user limit 0,3
4.2.14 查询结果集的记录条数
db.user.find({"age":{$lt:22}}).count()

类似于 select count(*) from user where age < 22
4.3 聚合查询
聚合操作处理数据记录并返回计算结果。 聚合操作将多个文档中的值组合在一起,并可对分组数据执行各种操作,以返回单个结果。 在SQL中的 count(*)与group by组合相当于mongodb 中的聚合功能。
4.3.1 count 统计
db.user.aggregate({$group:{_id:null,count:{$sum:1}}})

类似于 select count(1) as count from user

db.user.aggregate({$group:{_id:null,count:{$sum:"$age"}}})

类似于 select count(age) as count from user
4.3.2 group 分组
db.user.aggregate({$group:{_id:"$gender",count:{$sum:"$age"}}})

类似于 select count(age) as count from user group by gender
4.3.3 max统计
db.user.aggregate({$group:{_id:"$gender",max:{$max:"$age"}}})

类似于 select max(age) as count from user group by gender
4.3.4 min 统计
db.user.aggregate({$group:{_id:"$gender",min:{$min:"$age"}}})

类似于 select min(age) as count from user group by gender
4.3.5 avg 统计
db.user.aggregate({$group:{_id:"$gender",age:{$avg:"$age"}}})

类似于 select avg(age) as count from user group by gender
4.3.6 push 统计
将指定的表达式的值添加到一个数组中,这个值不要超过16M,不然会出现错误

db.user.aggregate({$group:{_id:"$gender",ages:{$push:"$age"}}})
4.3.6 addToSet 统计
将表达式的值添加到一个数组中(无重复值),这个值不要超过16M,不然会出现错误

db.user.aggregate({$group:{_id:"$gender",ages:{$addToSet:"$age"}}})
4.4 修改
db.user.update({"age":22},{$set:{"name":"李师师"}},false,true)

类似于 update user set name = "李四" where age = 22
4.5 删除
db.user.remove({"age":26})

类似于 delete from user where age = 26

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值