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

深入分析Mongodb數(shù)據(jù)的導(dǎo)入導(dǎo)出

 更新時(shí)間:2015年05月12日 09:57:03   投稿:hebedich  
這幾天想著公司要用MongoDB,自然就要用到數(shù)據(jù)導(dǎo)入導(dǎo)出,就自己學(xué)習(xí)了一下。本文介紹了mongoDb導(dǎo)入導(dǎo)出數(shù)據(jù)的方法,有需要的朋友參考下。

一、Mongodb導(dǎo)出工具mongoexport

Mongodb中的mongoexport工具可以把一個(gè)collection導(dǎo)出成JSON格式或CSV格式的文件??梢酝ㄟ^參數(shù)指定導(dǎo)出的數(shù)據(jù)項(xiàng),也可以根據(jù)指定的條件導(dǎo)出數(shù)據(jù)。
mongoexport具體用法

 [root@localhost mongodb]# ./bin/mongoexport --help 
Export MongoDB data to CSV, TSV or JSON files. 

options: 
 --help          produce help message 
 -v [ --verbose ]     be more verbose (include multiple times for more  
              verbosity e.g. -vvvvv) 
 --version         print the program's version and exit 
 -h [ --host ] arg     mongo host to connect to ( <set name>/s1,s2 for  
              sets) 
 --port arg        server port. Can also use --host hostname:port 
 --ipv6          enable IPv6 support (disabled by default) 
 -u [ --username ] arg   username 
 -p [ --password ] arg   password 
 --dbpath arg       directly access mongod database files in the given  
              path, instead of connecting to a mongod server -  
              needs to lock the data directory, so cannot be used 
              if a mongod is currently accessing the same path 
 --directoryperdb     if dbpath specified, each db is in a separate  
              directory 
 --journal         enable journaling 
 -d [ --db ] arg      database to use 
 -c [ --collection ] arg  collection to use (some commands) 
 -f [ --fields ] arg    comma separated list of field names e.g. -f  
              name,age 
 --fieldFile arg      file with fields names - 1 per line 
 -q [ --query ] arg    query filter, as a JSON string 
 --csv           export to csv instead of json 
 -o [ --out ] arg     output file; if not specified, stdout is used 
 --jsonArray        output to a json array rather than one object per  
              line 
 -k [ --slaveOk ] arg (=1) use secondaries for export if available, default  
              true 

參數(shù)說明
-h:指明數(shù)據(jù)庫宿主機(jī)的IP
-u:指明數(shù)據(jù)庫的用戶名
-p:指明數(shù)據(jù)庫的密碼
-d:指明數(shù)據(jù)庫的名字
-c:指明collection的名字
-f:指明要導(dǎo)出那些列
-o:指明到要導(dǎo)出的文件名
-q:指明導(dǎo)出數(shù)據(jù)的過濾條件

二、常用數(shù)據(jù)導(dǎo)出實(shí)例

1.直接導(dǎo)出數(shù)據(jù)到文件中

復(fù)制代碼 代碼如下:

[root@localhost bin]# ./mongoexport -d my_mongodb -c user -o user.dat
connected to: 127.0.0.1
exported 2 records
[root@localhost bin]# cat user.dat
{ "_id" : { "$oid" : "4f81a4a1779282ca68fd8a5a" }, "uid" : 2, "username" : "Jerry", "age" : 100 }
{ "_id" : { "$oid" : "4f844d1847d25a9ce5f120c4" }, "uid" : 1, "username" : "Tom", "age" : 25 }
[root@localhost bin]#

命令執(zhí)行完后使用命令查看,會(huì)發(fā)現(xiàn)目錄下生成了一個(gè)students.dat的文件

參數(shù)說明

 -d 指明使用的庫, 本例中為” my_mongodb”
 -c 指明要導(dǎo)出的表, 本例中為”user”
 -o 指明要導(dǎo)出的文件名, 本例中為”user.dat”
從上面可以看到導(dǎo)出的方式使用的是JSON 的樣式 

2、將foo庫中的表t1導(dǎo)出成json格式

復(fù)制代碼 代碼如下:

[root@localhost bin]# ./mongoexport -d foo -c t1 -o /data/t1.json  
connected to: 127.0.0.1  
exported 1 records  
[root@localhost bin]#

導(dǎo)出成功后我們看一下/data/t1.json文件的樣式

 

復(fù)制代碼 代碼如下:

root@localhost data]# more t1.json  
{ "_id" : { "$oid" : "4f927e2385b7a6814a0540a0" }, "age" : 2 }  
[root@localhost data]#

3、導(dǎo)出為CSV格式的數(shù)據(jù)

復(fù)制代碼 代碼如下:

[root@localhost bin]# ./mongoexport -d foo -c t2 --csv -f age,name -o /data/t2.csv  
connected to: 127.0.0.1  
exported 1 records  
[root@localhost bin]#

查看/data/t2.csv的導(dǎo)出結(jié)果

復(fù)制代碼 代碼如下:

[root@localhost data]# more t2.csv  
age,name  
1,"wwl"  
[root@localhost data]#

三、Mongodb導(dǎo)入工具mongoexport

Mongodb中的mongoimport工具可以把一個(gè)特定格式文件中的內(nèi)容導(dǎo)入到指定的collection中。該工具可以導(dǎo)入JSON格式數(shù)據(jù),也可以導(dǎo)入CSV格式數(shù)據(jù)。
 
具體使用如下

 [root@localhost mongodb]# ./bin/mongoimport --help 
options: 
 --help         produce help message 
 -v [ --verbose ]    be more verbose (include multiple times for more  
             verbosity e.g. -vvvvv) 
 --version        print the program's version and exit 
 -h [ --host ] arg    mongo host to connect to ( <set name>/s1,s2 for sets) 
 --port arg       server port. Can also use --host hostname:port 
 --ipv6         enable IPv6 support (disabled by default) 
 -u [ --username ] arg  username 
 -p [ --password ] arg  password 
 --dbpath arg      directly access mongod database files in the given  
             path, instead of connecting to a mongod server -  
             needs to lock the data directory, so cannot be used  
             if a mongod is currently accessing the same path 
 --directoryperdb    if dbpath specified, each db is in a separate  
             directory 
 --journal        enable journaling 
 -d [ --db ] arg     database to use 
 -c [ --collection ] arg collection to use (some commands) 
 -f [ --fields ] arg   comma separated list of field names e.g. -f name,age 
 --fieldFile arg     file with fields names - 1 per line 
 --ignoreBlanks     if given, empty fields in csv and tsv will be ignored 
 --type arg       type of file to import. default: json (json,csv,tsv) 
 --file arg       file to import from; if not specified stdin is used 
 --drop         drop collection first  
 --headerline      CSV,TSV only - use first line as headers 
 --upsert        insert or update objects that already exist 
 --upsertFields arg   comma-separated fields for the query part of the  
             upsert. You should make sure this is indexed 
 --stopOnError      stop importing at first error rather than continuing 
 --jsonArray       load a json array, not one item per line. Currently  
             limited to 4MB. 

參數(shù)說明
 
-h:指明數(shù)據(jù)庫宿主機(jī)的IP
-u:指明數(shù)據(jù)庫的用戶名
-p:指明數(shù)據(jù)庫的密碼
-d:指明數(shù)據(jù)庫的名字
-c:指明collection的名字
-f:指明要導(dǎo)入那些列

四、常用數(shù)據(jù)導(dǎo)入實(shí)例

1、導(dǎo)入JSON 數(shù)據(jù)

復(fù)制代碼 代碼如下:

[root@localhost mongodb]# ./bin/mongoimport -d test -c students students.dat  
connected to: 127.0.0.1 
imported 9 objects 
[root@localhost mongodb]#  

參數(shù)說明
-d:指明數(shù)據(jù)庫名,本例中為test
-c:指明collection名,本例中為students
students.dat:導(dǎo)入的文件名

2、導(dǎo)入CSV格式文件中的內(nèi)容

復(fù)制代碼 代碼如下:

[root@localhost mongodb]# ./bin/mongoimport -d test -c students --type csv --headerline --file students_csv.dat 
connected to: 127.0.0.1
imported 10 objects
[root@localhost mongodb]# 

參數(shù)說明:
-type:指明要導(dǎo)入的文件格式
-headerline:指明第一行是列名,不需要導(dǎo)入
-file:指明要導(dǎo)入的文件

以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。

相關(guān)文章

  • Vercel+MongoDB Atlas部署詳細(xì)指南

    Vercel+MongoDB Atlas部署詳細(xì)指南

    這篇文章主要為大家介紹了Vercel+MongoDB Atlas部署的詳細(xì)指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • MongoDB 快速入門

    MongoDB 快速入門

    MongoDB 快速入門,想要學(xué)習(xí)MongoDB的朋友可以參考下。
    2011-10-10
  • mongoDB中聚合函數(shù)java處理示例詳解

    mongoDB中聚合函數(shù)java處理示例詳解

    這篇文章主要給大家介紹了關(guān)于mongoDB中聚合函數(shù)java處理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mongoDB具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • MongoDB高效讀寫海量數(shù)據(jù)的方法

    MongoDB高效讀寫海量數(shù)據(jù)的方法

    這篇文章介紹了MongoDB高效讀寫海量數(shù)據(jù)的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • 在 Fedora 上安裝 MongoDB 服務(wù)器的方法教程

    在 Fedora 上安裝 MongoDB 服務(wù)器的方法教程

    Mongo是一個(gè)高性能、開源、無模式的、面向文檔的數(shù)據(jù)庫,它是最受歡迎的 NoSQL 數(shù)據(jù)庫之一。這篇文章主要介紹了在 Fedora 上安裝 MongoDB 服務(wù)器的方法,需要的朋友可以參考下
    2020-03-03
  • MongoDB的安裝方法圖文詳細(xì)

    MongoDB的安裝方法圖文詳細(xì)

    MongoDB?是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫,主要用于為?web?應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案,這里簡(jiǎn)單介紹一下安裝方法
    2023-06-06
  • MongoDB入門教程之C#驅(qū)動(dòng)操作實(shí)例

    MongoDB入門教程之C#驅(qū)動(dòng)操作實(shí)例

    這篇文章主要介紹了MongoDB入門教程之C#驅(qū)動(dòng)操作實(shí)例,即C#中操作MongoDB數(shù)據(jù)的方法和代碼示例,需要的朋友可以參考下
    2014-08-08
  • Mongodb啟動(dòng)報(bào)錯(cuò)完美解決方案:about to fork child process,waiting until server is ready for connections.

    Mongodb啟動(dòng)報(bào)錯(cuò)完美解決方案:about to fork child pr

    在使用命令行啟動(dòng) MongoDB 的時(shí)候報(bào)錯(cuò):about to fork child process, waiting until server is ready for connections.forked process: 50411,造成這個(gè)報(bào)錯(cuò)的原因是 “MongoDB” 服務(wù)沒有正常的關(guān)閉,在終端連接非正常斷開后,再次執(zhí)行 MongoDB 的時(shí)候報(bào)錯(cuò)
    2023-04-04
  • 淺談MongoDB的備份方式

    淺談MongoDB的備份方式

    mongodb數(shù)據(jù)庫同樣離不開必要的維護(hù),如備份、恢復(fù)、導(dǎo)入、導(dǎo)出。其實(shí)備份和恢復(fù)比導(dǎo)入和導(dǎo)出要方便些,而且一般不會(huì)出錯(cuò),所以大部分時(shí)候使用備份和恢復(fù)操作就可以了。下面我們來簡(jiǎn)單談?wù)凪ongoDB的備份方式
    2015-05-05
  • MongoDB分片的實(shí)現(xiàn)示例

    MongoDB分片的實(shí)現(xiàn)示例

    MongoDB的分片是一種橫向擴(kuò)展數(shù)據(jù)庫的方式,可以將數(shù)據(jù)分散存儲(chǔ)在多臺(tái)服務(wù)器上,從而提高數(shù)據(jù)庫的處理能力和可用性,本文就來介紹一下如何實(shí)現(xiàn),感興趣的可以了解一下
    2023-12-12

最新評(píng)論