欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MongoDB mongoexport工具的使用簡介

 更新時間:2021年03月23日 14:45:09   作者:AsiaYe  
這篇文章主要介紹了MongoDB mongoexport工具的使用簡介,幫助大家更好的理解和學習使用MongoDB數(shù)據(jù)庫,感興趣的朋友可以了解下

01  基本介紹

   mongoexport是一個數(shù)據(jù)導出的工具,使用的時候類似mysql中的select into outfile語法,可以將某個數(shù)據(jù)庫中的數(shù)據(jù)以json或者csv的格式導出來。

我們可以通過直接連接mongos或者連接mongod來導出數(shù)據(jù)。如果你的集群是分片集群,連接mongos會導出所有分片上這個集合的相關數(shù)據(jù)。

02  常用參數(shù)

-h:指明數(shù)據(jù)庫宿主機的IP

-u:指明數(shù)據(jù)庫的用戶名

-p:指明數(shù)據(jù)庫的密碼

-d:指明數(shù)據(jù)庫的名字

-c:指明collection的名字

-f:指明要導入那些列

--type:默認是json類型,可以導出csv類型

-o:指明要導出的文件名稱,如果不指定,則導出到標準輸出

-q:查詢過濾器,可以輸入一個json,從而導出查詢后的結果

上面的常用參數(shù)還有對應的長參數(shù)選項,例如-h也可以輸入--host代替。參數(shù)的詳細介紹,可以通過mongoexport --help獲取到。

03  命令

1、導出數(shù)據(jù)庫new下面的test集合的number字段,命令如下:

mongoexport --port=27016 -u "yeyz" --authenticationDatabase "admin" -p "123456" -d new -c test --fields=number -o /data/test.json
2021-02-23T22:09:52.481+0800 connected to: localhost:27016
2021-02-23T22:09:52.512+0800 exported 2000 records

我們看下導出的結果:

{"_id":{"$oid":"6006c46993a711b384cc8c92"},"number":1000.0}
{"_id":{"$oid":"6006c46993a711b384cc8c93"},"number":1001.0}
{"_id":{"$oid":"6006c46993a711b384cc8c94"},"number":1002.0}
{"_id":{"$oid":"6006c46993a711b384cc8c95"},"number":1003.0}
{"_id":{"$oid":"6006c46993a711b384cc8c96"},"number":1004.0}
{"_id":{"$oid":"6006c46993a711b384cc8c97"},"number":1005.0}
{"_id":{"$oid":"6006c46993a711b384cc8c98"},"number":1006.0}
{"_id":{"$oid":"6006c46993a711b384cc8c99"},"number":1007.0}
{"_id":{"$oid":"6006c46993a711b384cc8c9a"},"number":1008.0}
{"_id":{"$oid":"6006c46993a711b384cc8c9b"},"number":1009.0}
{"_id":{"$oid":"6006c46993a711b384cc8c9c"},"number":1010.0}
{"_id":{"$oid":"6006c46993a711b384cc8c9d"},"number":1011.0}
{"_id":{"$oid":"6006c46993a711b384cc8c9e"},"number":1012.0}

可以看到,即使我們只指定了number字段,也會自動為我們導出_id字段,由此可以得出結論,:如果導出的格式是json類型的,_id字段是默認導出的。

默認導出的類型是json類型,如果我們想導出csv類型,可以增加--type=csv參數(shù)。添加了這個參數(shù)之后,結果如下:

number
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011

可以看到,就不會自動的輸出_id這個字段了。這個可能也是一個值得討論的點。我認為可能是這個工具的一個小bug,csv類型不輸出_id字段,而json類型輸出_id字段。

2、導出某個特定的查詢結果,例如導出number=10的那條記錄:

[root@VM-0-14-centos ~]# mongoexport --port=27016 -u "yeyz" --authenticationDatabase "admin" -p "123456" -d new -c test --type=csv -q {"number":10} --fields=number -o /data/test.json 
2021-02-23T22:38:18.319+0800 connected to: localhost:27016
2021-02-23T22:38:18.321+0800 exported 1 record

可以直接在-q參數(shù)后面跟查詢條件。

04  經(jīng)驗值

   今天的操作是在分片集群上進行操作的,一共7個分片,我導出了3億多條數(shù)據(jù),單個分片上大概5000w條數(shù)據(jù)吧,每條數(shù)據(jù)導出2個字段,每個分片上的導出時間大約在2個小時左右。

機器硬件配置:

  • SATA硬盤4TB
  • 普通內(nèi)存128G
  • intel 至強E5-4系列

當然,這個值只是個經(jīng)驗值,如果你的導出的字段比較多的話,或者字段的長度比較長,可能這個值沒有太多的參考意義。

在實際進行數(shù)據(jù)導出的時候,發(fā)現(xiàn)執(zhí)行導出的mongodb服務器負載有一定上升,內(nèi)存使用率有一定上升,但是沒有特別明顯性能抖動,整個過程不會鎖數(shù)據(jù)庫,所以還是比較安全的。

線上操作的時候,尤其是針對敏感的業(yè)務,為了最大程度上降低對業(yè)務的影響,如果你是在mongos上執(zhí)行數(shù)據(jù)導出,建議先保證這個mongos對業(yè)務不可見,執(zhí)行導出之后,在重新對外提供服務;如果你是在mongod上進行數(shù)據(jù)導出,則最好選擇secondary節(jié)點進行,避免對線上業(yè)務的影響。

05  反向導入

   mongodb還有一個工具,叫mongoimport,可以將mongoexport導出的數(shù)據(jù)導入到mongodb數(shù)據(jù)庫中,下面是一個mongoimport的命令:

[root@VM-0-14-centos ~]# mongoimport --port=27016 -u "yeyz" --authenticationDatabase "admin" -p "123456" -d new -c test1 --type=csv --fields=number --file=/data/test.csv
2021-02-23T22:44:21.930+0800 connected to: localhost:27016
2021-02-23T22:44:22.146+0800 imported 2001 documents

   mongoimport的整個操作類似insert操作,參數(shù)方面和mongoexport大同小異,唯一多的比較重要的參數(shù)就是writeconcern的值,這個值設置的級別越高,那么導出數(shù)據(jù)的時間就越慢,但是數(shù)據(jù)安全性會越高。

詳細內(nèi)容請看官方文檔對writeconcern的描述。

今天的內(nèi)容就到這里。

以上就是MongoDB mongoexport工具的使用簡介的詳細內(nèi)容,更多關于MongoDB mongoexport工具的使用的資料請關注腳本之家其它相關文章!

相關文章

  • PHP  MongoDB GridFS 存儲文件的方法詳解

    PHP MongoDB GridFS 存儲文件的方法詳解

    這篇文章主要介紹了PHP MongoDB GridFS 存儲文件的方法詳解的相關資料,需要的朋友可以參考下
    2016-10-10
  • MongoDB設置登錄賬號、密碼及權限的詳細過程

    MongoDB設置登錄賬號、密碼及權限的詳細過程

    這篇文章主要給大家介紹了關于MongoDB設置登錄賬號、密碼及權限的詳細過程,文中通過代碼以及圖文介紹的非常詳細,對大家學習或者使用MongoDB具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • MongoDB中MapReduce編程模型使用實例

    MongoDB中MapReduce編程模型使用實例

    作為一個優(yōu)秀的編程模型,MapReduce在大數(shù)據(jù)處理中有很大的優(yōu)勢,而mongodb也支持這一編程模型,本文通過簡單的單詞計數(shù)示例論述在mongodb中如何使用MapReduce
    2014-04-04
  • MongoDB中sort()排序方法、aggregate()聚合方法和索引代碼示例

    MongoDB中sort()排序方法、aggregate()聚合方法和索引代碼示例

    這篇文章主要給大家介紹了關于MongoDB中sort()排序方法、aggregate()聚合方法和索引的相關資料,MongoDB的聚合函數(shù)Aggregate是一組用于對MongoDB中的數(shù)據(jù)集進行聚合操作的函數(shù),文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-04-04
  • mongodb數(shù)據(jù)庫入門之CURD簡單操作示例

    mongodb數(shù)據(jù)庫入門之CURD簡單操作示例

    這篇文章主要介紹了mongodb數(shù)據(jù)庫入門之CURD簡單操作,結合簡單示例形式分析了MongoDB數(shù)據(jù)庫基本的CURD增刪改查相關操作技巧與注意事項,需要的朋友可以參考下
    2019-10-10
  • MongoDB分片集群部署詳解

    MongoDB分片集群部署詳解

    這篇文章主要介紹了MongoDB分片集群部署詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • MongoDB在Windows平臺的安裝及配置方法

    MongoDB在Windows平臺的安裝及配置方法

    這篇文章主要介紹了MongoDB在Windows平臺的安裝及配置方法,簡單分析了MongoDB的下載、設置方法、操作命令等具體步驟與相關注意事項,需要的朋友可以參考下
    2017-04-04
  • 解決MAC上啟動mongod報錯exiting with code 1的問題

    解決MAC上啟動mongod報錯exiting with code 1的問題

    這篇文章主要介紹了解決MAC上啟動mongod報錯exiting with code 1的問題,本文給大家介紹的非常詳細對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • MongoDB安裝到windows服務的方法及遇到問題的完美解決方案

    MongoDB安裝到windows服務的方法及遇到問題的完美解決方案

    這篇文章主要介紹了MongoDB安裝到windows服務的方法及遇到問題的完美解決方案,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2016-11-11
  • CentOS7下安裝MongoDB數(shù)據(jù)庫過程

    CentOS7下安裝MongoDB數(shù)據(jù)庫過程

    大家好,本篇文章主要講的是CentOS7下安裝MongoDB數(shù)據(jù)庫過程,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12

最新評論