1. 程式人生 > 實用技巧 >mongodb常用命令

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:相當於selectlogin_name,role_namefromdata_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() 相當於:selectcount(login_name)fromdata_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}) 相當於: selectlogin_name,role_namefromdata_sys_logwherelogin_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