MongoDB學習筆記 客戶端命令列的使用

2021-09-06 22:23:29 字數 2468 閱讀 2629

回到目錄

測試環境:服務端:linux版的mongod 2.6.9

客戶端:window版的mongo 2.6.9

1 建立乙個新的鏈結

var x=new mongo("

192.168.2.4:27017

")

2 顯示所有資料庫

show dbs

3 指定當前要使用的資料庫

var db=x.getdb("

background

")

4 得到當前資料庫的名稱

db.getname()

5 得到資料庫的所有集合

db.getcollectionnames()

6 得到資料庫中集合的詳細資訊

db.getcollectioninfos()

7 得到指定的集合

db.getcollection("

background

")

8 得到集合中元素的數量

db.getcollection("

background

").count()

9 得到伺服器相關資訊

db.hostinfo()

10 得到當前mongo伺服器的連線資訊

db.getmongo()

11 為排序和查詢的字段新增索引

了解資料庫的朋友對索引應該不會陌生吧,當資料量比較小時,它起不到什麼作用,當資料量大時500w以上,你的字段就需要加索引了,效能提公升相當的明顯,如果你不加,那你就等著曇花開吧,呵呵!

db.tablename.ensureindex()//

1為公升序,-1為降序

db.tablename.getindexes()

12 刪除索引

db.tablename.dropindex()

13 檢視資料表的狀態,同步顯示分片的狀態和每個片被命中的數量

db.webmanageusers.stats()

14 檢視資料庫的狀態,它會把相關分片的資訊顯示出來

db.stats()

15 在路由伺服器查詢分片完整的資訊

var db=x.getdb("

admin");

db.runcommand();//

需要在admin資料庫下

16 設定資料庫的分片狀態,讓它生效

#指定databasename分片生效

db.runcommand( );

17 設定資料庫下的資料表(collection)分片狀態,讓它生效

#指定資料庫裡需要分片的集合和片鍵

db.runcommand( } )

18 對資料表進行分組

db.tablename.aggregate([ } }])

19 分組第二種方法group強大命令

db.m_partner_footprints.group(,//

分組的key

cond: },//

條件過濾

initial: ,

reduce: function (doc,

out) ,

finalize: function (

out)

});

20 group對多個字段進行分組,使用keyf函式來實現

db.m_user_footprints.group( },

cond: ,

initial: ,

reduce: function (doc,

out) ,

finalize: function (

out)

});

22 使用aggregate進行聚合操作

db.m_user_footprints.aggregate([ } }])

23 管道,mongodb的聚合管道將mongodb文件在乙個管道處理完畢後將結果傳遞給下乙個管道處理。管道操作是可以重複的。

一 $project選擇指定的列,_id被預設選中

db.m_user_footprints.aggregate(

});

二 $match選擇某個範圍的資料,並將結果傳到下乙個管道中

db.m_user_footprints.aggregate([

} },

} }]);

各位對索引一定要引起重視,因為在大資料情況下,如果沒有索引,在進行排序,查詢等操作時就引發全表掃瞄,那代價是非常大的!

回到目錄

MongoDB 客戶端工具

nosql manager for mongodb 這是乙個功能強大的收費軟體 免費試用30天,但是可以通過網路上其他路徑獲得,這裡我就不說了 mongo vue 缺點 沒命令列輸入的介面 robomongo 優點 有 命令列輸入的介面 缺點1.沒有匯出功能 2.只有命令列的方式 官網 mongoc...

iOS 客戶端學習 筆記

是否按照整頁來滾動檢視 scrollview pagingenabled yes 是否開啟滾動效果 scrollview scrollenabled yes 是否可以邊緣彈動效果 scrollview bounces yes 是否可以橫向彈動效果 scrollview alwaysbouncehor...

ftp客戶端 學習筆記

檔案傳輸協議 ftp 作為網路共享檔案的傳輸協議,在網路應用軟體中具有廣泛的應用。ftp的目標是提高檔案的共享性和可靠高效地傳送資料。在傳輸檔案時,ftp 客戶端程式先與伺服器建立連線,然後向伺服器傳送命令。伺服器收到命令後給予響應,並執行命令。ftp 協議與作業系統無關,任何作業系統上的程式只要符...