202

連絡先情報を含むCSVをインポートしようとしています:

Name,Address,City,State,ZIP  
Jane Doe,123 Main St,Whereverville,CA,90210  
John Doe,555 Broadway Ave,New York,NY,10010 

これを実行しても、データベースにドキュメントが追加されていないようです。

$ mongoimport -d mydb -c things --type csv --file locations.csv --headerline

Traceによるとimported 1 objects、Mongoシェルを起動して実行db.things.find()しても、新しいドキュメントは表示されません。

私は何が欠けていますか?

4

23 に答える 23

257

あなたの例は、MongoDB 1.6.3 と 1.7.3 でうまくいきました。以下の例は 1.7.3 のものです。古いバージョンの MongoDB を使用していますか?

$ cat > locations.csv
Name,Address,City,State,ZIP
Jane Doe,123 Main St,Whereverville,CA,90210
John Doe,555 Broadway Ave,New York,NY,10010
 ctrl-d
$ mongoimport -d mydb -c things --type csv --file locations.csv --headerline
connected to: 127.0.0.1
imported 3 objects
$ mongo
MongoDB shell version: 1.7.3
connecting to: test
> use mydb
switched to db mydb
> db.things.find()
{ "_id" : ObjectId("4d32a36ed63d057130c08fca"), "Name" : "Jane Doe", "Address" : "123 Main St", "City" : "Whereverville", "State" : "CA", "ZIP" : 90210 }
{ "_id" : ObjectId("4d32a36ed63d057130c08fcb"), "Name" : "John Doe", "Address" : "555 Broadway Ave", "City" : "New York", "State" : "NY", "ZIP" : 10010 }
于 2011-01-16T07:57:55.433 に答える
24

次のコマンドを実行する必要があります。

mongoimport --host=127.0.0.1 -d database_name -c collection_name --type csv --file csv_location --headerline

-d はデータベース名です

-c はコレクション名

--headerline --type csv または --type tsv を使用する場合、最初の行をフィールド名として使用します。それ以外の場合、mongoimport は最初の行を個別のドキュメントとしてインポートします。

詳細については: mongoimport

于 2015-10-26T16:56:56.790 に答える
3

ファイルの最後に空白行があることを確認してください。そうしないと、mongoimport の一部のバージョンで最後の行が無視されます。

于 2011-01-14T06:59:33.133 に答える
1

CSV ファイルをインポートしようとすると、エラーが発生しました。私がやった事。最初に、ヘッダー行の列名を大文字に変更し、「-」を削除し、必要に応じて「_」を追加しました。次に、CSVをmongoにインポートするためのコマンドの下に入力しました

$ mongoimport --db=database_name --collection=collection_name --type=csv --file=file_name.csv --headerline  

ここに画像の説明を入力

于 2019-10-14T01:12:17.360 に答える
1

3.4 バージョンでは、次の構文を使用してください。

mongoimport -u "username" -p "password" -d "test" -c "collections" --type csv --file myCsv.csv --headerline

3日経って、やっと自力でできました。私を支えてくれたすべてのユーザーに感謝します。

于 2018-07-29T00:13:13.363 に答える
0

C:\wamp\mongodb\bin>mongoexport --db proj_mmm --コレクション オファリング --csv --fieldFile Offerings_fields.txt --out Offerings.csv

于 2014-06-19T06:31:00.687 に答える
0

使用する :

mongoimport -d 'database_name' -c 'collection_name' --type csv --headerline --file filepath/file_name.csv
于 2016-04-06T14:23:03.243 に答える
0

複数のファイルがあり、Python を使用してそれらすべてをインポートする場合は、次の操作を実行できます。

import os
import subprocess

# directory of files
dir_files = 'C:\data'
# create list of all files
_, _, fns = next(os.walk(dir_files))
files = [os.path.join(dir_files, fn) for fn in fns]
# mongotool address
mongotool = r'C:\Program Files\MongoDB\Server\4.4\bin\mongoimport.exe'
# name of mongodb database
mydatabase = 'mydatabase'
# name of mongodb collection
mycollection = 'mycollection'
# import all files to mongodb
for fl in files:
    commands =[mongotool, '--db', mydatabase,
               '--collection', mycollection,
               '--file', fl,
               '--type', 'tsv',
               '--headerline']
    subprocess.Popen(commands, shell=True)

于 2021-04-12T03:11:28.273 に答える
0

mongoimport を実行した後にこれを使用するだけです

インポートされたオブジェクトの数を返します

use db
db.collectionname.find().count()

オブジェクトの数を返します。

于 2011-11-10T11:24:01.563 に答える