mongodbデータインポートエクスポートのいくつかの問題

4785 ワード

mongoexportを使用します.exeエクスポートデータexeエクスポートデータ
コマンドラインは末尾にセミコロンを付けないでください.出力アドレスを二重引用符で含める必要はありません.
セミコロンが追加され、セミコロンが追加されると、セミコロンもファイル名の一部として扱われます.
セミコロンとの間にスペースがある場合は、次のエラーが発生します.
ERROR: too many positional options
//書き出しjsonファイル
D:\tool\mongo\bin\mongoexport --username user --password 123456 --collection test --db memo --out D:\tool\mongo\backup\outputfile\test.json
jsonをエクスポートする場合は-fを指定しなくてもいいです
デフォルトで出力されるデータは1行1本のレコードで、JSONオブジェクトで、各行の間にカンマ区切りはなく、行区切りです.
--jsonArrayパラメータを入れると、すべてのデータを含むJSONオブジェクトが出力されます
//書き出しcsvファイル
D:\tool\mongo\bin\mongoexport --username user --password 123456 --collection test --db memo -f name,_id,age,addr,di --csv --out D:\tool\mongo\backup\outputfile\test.csv
このフォーマットでは、-fで出力されるフィールドをカンマで区切る必要があります.そうしないと、assertion:9998 you need to specify fieldsというエラーが表示されます.
-fを書かなければCSVファイルも出力できますが、空のファイルです.
-fに存在しないフィールドが書かれている場合、このフィールドは出力可能であるが、NULL値である
//導入
D:\tool\mongo\bin\mongoimport.exe -d memo -c jfmall --file D:\tool\mongo\backup\outputfile\test.json -u user -p 123456
パラメータ-qを追加してクエリー条件を指定する場合は、次のように単一引用符で囲む必要があります.
/mongoexport -d page -c Article -q '{"title": "cc"}' -f _id,title,content,images,url --jsonArray > mafengwoArticle.txtそうでないと、次のエラーが発生します.
ERROR: too many positional options    
mongoexport --help  
options:  
  --help                  produce help message  
  -v [ --verbose ]        be more verbose (include multiple times for more verbosity e.g. -vvvvv)  
  -h [ --host ] arg       mongo host to connect to ( /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  
  -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  
mongoimport --help  
options:  
  --help                  produce help message  
  -v [ --verbose ]        be more verbose (include multiple times for more  
                          verbosity e.g. -vvvvv)  
  -h [ --host ] arg       mongo host to connect to ( /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  
  -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.