mongodb常用命令

1、客户端连接服务
>mongo 

2、查看数据库信息
>db.stats()   


3、显示有哪些数据库
>show dbs;

4、选择使用哪个库
>use 数据库名

5、显示数据库中有哪些表
>show tables;

6、查看表信息
db.data_sys_log.stats()

7、数据库帮助
>db.help()

8、数据表帮助
>db.data_sys_log.help()

9、查看全表记录
>db.data_sys_log.find()

10、设置命令行查询数据,每页显示多少条
>DBQuery.shellBatchSize = 5
默认每页显示20条记录,当显示不下的情况下,可以用it迭代命令查询下一页数据。
可以通过DBQuery.shellBatchSize设置每页显示数据的大小。如:DBQuery.shellBatchSize = 5,这样每页就显示5条记录了

11、查询一条记录
>db.data_sys_log.findOne()

12、查询聚集中字段的不同记录
>db.data_sys_log.distinct("login_name")

13、查询聚集中login_name包含“王”关键字的记录
>db.data_sys_log.find({"login_name":/王/})

14、查询聚集中login_name以“王”关键字开头的记录
>db.data_sys_log.find({"login_name":/^王/})

15、查询聚集中login_name以“王”关键字结尾的记录
>db.data_sys_log.find({"login_name":/王$/})

16、查询聚集中指定列。
1表示true  :相当于select login_name,role_name from data_sys_log
>db.data_sys_log.find({},{"login_name":1,"role_name":1})
虽然只查login_name,role_name两列,默认会带出_id列

17、 查询聚集中排除指定列
>db.data_sys_log.find({},{"login_name":0,"role_name":0})

18、查询聚集中指定列,且Age > 20
>db.data_sys_log.find({"Age":{"$gt":20}},{"login_name":0,"role_name":0})

19、聚集中字段排序 
>db.data_sys_log.find().sort({"login_name":1})  升序
>db.data_sys_log.find().sort({"login_name":-1}) 降序

20、统计聚集中记录条数
>db.data_sys_log.find().count();

21、统计聚集中符合条件的记录条数
>db.data_sys_log.find({"Age":{"$gt":20}).count();

22、统计聚集中字段符合条件的记录条数
>db.data_sys_log.find({"login_name":{"$exists":true}}).count()
相当于:select count(login_name) from data_sys_log

23、查询聚集中前5条记录 
>db.data_sys_log.find().limit(5)

24、查询聚集中第10条以后的记录,就是从11条开始
>db.data_sys_log.find().skip(10)

25、查询聚集中第10条记录以后的5条记录
>db.data_sys_log.find().skip(10).limit(5)

26、OR查询
>db.data_sys_log.find({"$or":[{"login_name":/王/},{"role_name":/王/}]},{"login_name":true,"role_name":true})
相当于:
select login_name,role_name from data_sys_log where login_name like '%王%' or role_name like '%王%'

27、添加新记录
>db.data_sys_log.insert({"_class":"com.uws.base.model.SysLogMongo","login_name":"测试","role_name":"测试角色","opt_content":"[类名]:com.uws.base.controller.LoginController,[方法]:logout,[参数]:","create_time":"2019-05-21 10:59:10"})

注意:如果不选择库执行,即不use hz_studentroll;
则直接在test库中创建data_sys_log表,插入数据

28、修改记录
>db.data_sys_log.update({"login_name":"系统管理员"},{"$set":{"role_name":"管理员"}})
注意:配置多条,只会修改一条

29、删除记录
>db.data_sys_log.remove({"role_name":"管理员"})
>db.data_sys_log.remove({"age":{$lt:20}})  age<20
$lt         <
$lte        <=
$gt	      >
$gte        >=
$ne          !=

30、全部删除
>db.data_sys_log.remove()
>db.data_sys_log.remove({})

31、给表添加字段
>db.data_sys_log.update({},{$set:{source:null}},{multi:1})

32、删除表字段
>db.data_sys_log.update({},{$unset:{'source':null}},false,true)

33、删除数据库
>db.dropDatabase();   #删除当前所在的数据库

34、删除表
> db.user.drop()    #删除user表

35、关闭mongo服务
1)使用数据库命令关闭:
>use admin
>db.shutdownServer();

2)使用mongod命令关闭
>mongod --shutdown -f ../mongo.conf
或
>mongod -f ../mongo.conf shutdown

3)使用kill命令
>ps -ef|grep mongo
>kill pid
>ps -ef|grep pmon
使用 kill -2 pid  或  kill -15 pid
不要使用kill -9 pid,因为如果MongoDB运行在没开户日志(--journal)的情况下,可能会造成数据损失。

36、建立复合索引
>db.test.ensureIndex({"age": 1,"no": 1,"name": 1 })

37、查看索引命名空间
>db.tb_user.stats() 查看indexSizes的值

38、查看表数据大小:bytes
>db.sysLog.dataSize();

39、查看表分配大小,包括未使用的空间
>db.sysLog.storageSize();

40、查看表数据大小,包括索引
>db.sysLog.totalSize();

41、查看表索引大小
>db.sysLog.totalIndexSize();

  

原文地址:https://www.cnblogs.com/ngy0217/p/11080752.html