2.Mongodb常用的命令
阿新 • • 發佈:2022-04-10
show dbs : 顯示當前資料庫列表 show collections : 顯示當前資料庫中的集合 show users :顯示使用者 use db_name : 切換資料庫,和mysql中的切換資料庫是一樣 db.help() :裡面有很多命令,可以好好研究研究 資料庫相關 1.help db.help() db.集合名.help() db.集合名.find().help(); rs.help(); 2.切換資料庫 use db_name
建立資料庫有兩種方法:
3.查詢所有資料庫 show dbs; 4.刪除當前使用資料庫 db.dropDatabase();5.檢視當前使用的資料庫 db.getName(); 6.顯示當前db狀態 db.stats(); 7.顯示當前db版本 db.version() 8.檢視當前db的連線機器地址 db.getMongo(); collectoin(集合相關) 1.得到指定名稱的聚集集合 db.getCollection("collecton_name") 2.得到當前db的所有聚集集合 db.getCollectionNames(); 3. 顯示當前db所有聚集索引的狀態 db.printCollectionStats(); 使用者相關 1.新增一個使用者 db.addUser("name"); db.addUser("Username","pwd123",true); 新增使用者、設定密碼、是否只讀 2.資料庫認證、安全模式 db.auth("username","123123") 3.顯示當前所有使用者 db.users; 4.刪除使用者 db.removeUser("username"); 檢視聚集集合基本資訊 1.檢視當前集合的資料條數 db.集合名.count() 2.檢視資料空間大小 db.集合名.dataSize(); 3.檢視當前聚集集合的狀態 db.集合名.stats();4.檢視當前聚集集合所在的db db.集合名.getDB(); 5.檢視聚集集合儲存總大小 db.集合名.totalSize(); 6.檢視聚集集合儲存空間大小 db.userinfo.storageSize(); 7.shard版本資訊 db.userinfo.getShardVersion() 8.刪除當前聚集集合 db.userinfo.drop();
聚集集合查詢 1.查詢所有記錄 db.集合名.find(); 相當於select * from 集合名; 預設每頁顯示20條記錄,當顯示不下的情況時,可以用it迭代命令查詢下一頁資料。 2.查詢去掉後的當前聚集中的某列的重複資料 db.集合名.distinct("name"); 相當於select distinct name from userinfo; 3.查詢age=22的記錄 db.userinfo.find({"age":22}); 相當於:select * from 集合名 where age=22; 4.查詢age>22的記錄 db.userinfo.find({age:{$gt:22}}); 相當於select * from userinfo where age>22; 5.查詢age<22的記錄 db.userinfo.find({age:{$lt:22}}); 相當於select * from userinfo where age<22; 6.查詢age>=25的記錄 db.userinfo.find({age:{$gte:25}}) 相當於select * from userinfo where age>=25; 7. 查詢age<=25的記錄 db.userinfo.find({"age":{$lte:25}}); 8.查詢age>=23並且age<=26 db.userinfo.find({age:{$gte:23,$ite:26}}); 9.查詢name中包含mongo的資料 db.userinfo.find({name:/mongo/}); //相當於%% select * from userinfo where name like %mongo%; 10.查詢name以mongo開頭的 db.userinfo.find({name:/^mongo/}); select * from userinfo where name like 'mongo%'; 11.查詢指定列name,age資料 db.userinfo.find({},{name:1,age:1}); 相當於:select name,age from userinfo; 這裡也可以用用true或false,當用ture的情況下和name:1效果一樣,如果用false就是排除name,顯示name以外的列資訊。 12.查詢指定列name、age資料,age>25 db.userinfo.find({age:{$gt:25}},{name:1,age:1}) 相當於:select name,age from userinfo where age>25; 13.按照年齡排序 升序:db.userinfo.find().sort({age:1}); 降序:db.userinfo.find().sort({age:-1}); 14.查詢name=’zhangshan',age=22的資料 db.userinfo.find({name:'zhangshan',age:22}); 相當於:select * from userinfo wehre name='zhangshan' and age='22'; 15.檢視前5條資料 db.userinfo.find().limit(5); 相當於:select top 5 * from userinfo; 16.檢視10條以後的資料 db.userinfo.find().skip(10); 17.檢視在5-10之間的資料 db.userinfo.find().limit(10).skip(5); 可用於分頁,limit 是pagesize,skip是第幾頁 18 or與查詢 db.userinfo.findOne(); 相當於:db.userinfo.find().limit(1); 19.查詢某個結果集哦記錄條數 db.userinfo.find({age:{$gte:25}}).count(); 相當於:select count(*) from userinfo where age>=20; 如果要返回限制之後的記錄數量,要使用count(true)或者count(非00 db.users.find().skip(10).limit(5).count(true); 21.建立索引 db.userinfo.ensureIndex({name:1}); db.userinfo.ensureIndex({name:1,ts:-1})
索引篇 1.查詢當前聚集集合所有索引 db.userinfo.getIndexes(); 2.檢視總索引記錄大小 db.userinfo.totallindexSize(0; 3.讀取當前集合的所有index資訊 db.users.relndex(); 4.刪除指定索引 db.users.dropindex("name_1"); 6.刪除所有索引 db.users.dropindexes();
1.新增 db.users.save({name:'zhangshan',age:25,sex:true}) 2.修改 db.collection.update(criteria,objNew,upsert,multi) criteria:update的查詢條件,類似sql update查詢內where後面的 objNew:upate的物件和一些更新的操作符(如$,$inc...)等,也可以理解為sql update查詢內set後面的 upsert:如果不存在update的記錄,是否插入objNew,true為插入,預設是false,不插入 multi:mongodb預設是false,只更新找到的第一條記錄,如果這個引數為true,就把按條件查出來多條記錄全部更新。 db.user.update({age:25},{$set:{name:'changename'}},false,true); 相當於:update users set name='changName' where age=25; db.users.update({name:'list},{$inc:{age:50}},false,true); 相當於:update users set age=age + 50 where name='list'; db.users.update({name:'list'},{$inc:{age:50},$set:{name:'hoho'}},false,true); 相當於:update users set age=age+50,name='hoho' where name='list'; 3.刪除 db.users.remove({age:132}); 4.查詢修改刪除 db.users.findAndModify({ query:{age:{$gte:25}}, sort:{age:-1}, update:{$set:{name:'a2'},$inc:{age:2}}, remove : true });
連線:mongo --username root --password 123456 --host 10.10.10.10 --port 27017 --authenticationDatabase admin <<EOF