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();

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM