Jak używać mongoimport do importowania pliku csv
Próba zaimportowania pliku CSV z danymi kontaktowymi:
Name,Address,City,State,ZIP
Jane Doe,123 Main St,Whereverville,CA,90210
John Doe,555 Broadway Ave,New York,NY,10010
Uruchomienie tego nie wydaje się dodawać żadnych dokumentów do bazy danych:
$ mongoimport -d mydb -c things --type csv --file locations.csv --headerline
Trace mówi imported 1 objects
, ale odpalenie powłoki Mongo i uruchomienie db.things.find()
nie pokazuje żadnych nowych dokumentów.
17 answers
Twój przykład zadziałał dla mnie z MongoDB 1.6.3 i 1.7.3. Poniższy przykład dotyczy wersji 1.7.3. Czy używasz starszej wersji 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 }
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-01-16 07:57:55
Byłem zakłopotany podobnym problemem, w którym mongoimport nie dał mi błędu, ale zgłosił importowanie rekordów 0. Zapisałem mój plik, który nie działał przy użyciu wersji OSX Excel for Mac 2011, używając domyślnego "Zapisz jako..""xls as csv" bez określenia " Windows oddzielone przecinkami(.csv) " format konkretnie. Po zbadaniu tej witryny i wypróbowaniu "Zapisz jako ponownie za pomocą" okna oddzielone przecinkami (.csv) " format, mongoimport działał dobrze. Myślę, że mongoimport oczekuje nowej linii znak w każdej linii i domyślny eksport programu Mac Excel 2011 csv nie zapewniały tego znaku na końcu każdej linii.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-23 22:20:43
Musimy wykonać następujące polecenie:
mongoimport --host=127.0.0.1 -d database_name -c collection_name --type csv --file csv_location --headerline
- d jest nazwą bazy danych
- c jest nazwą kolekcji
--headerline jeśli używa --type csv lub -- type tsv, używa pierwszej linii jako nazw pól. W przeciwnym razie mongoimport zaimportuje pierwszą linię jako odrębny dokument.
Więcej informacji: mongoimport
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-14 11:05:57
Najprawdopodobniej będziesz musiał uwierzytelnić, jeśli pracujesz w środowisku produkcyjnym. Możesz użyć czegoś takiego, aby uwierzytelnić poprawną bazę danych za pomocą odpowiednich poświadczeń.
mongoimport -d db_name -c collection_name --type csv --file filename.csv --headerline --host hostname:portnumber --authenticationDatabase admin --username 'iamauser' --password 'pwd123'
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-11 19:20:18
Sprawdź, czy na końcu pliku jest pusta linia, w przeciwnym razie ostatnia linia będzie ignorowana w niektórych wersjach mongoimport
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-01-14 06:59:33
Używam tego na powłoce mongoimport
mongoimport --db db_name --collection collection_name --type csv --file C:\\Your_file_path\target_file.csv --headerline
Typ może wybrać csv / tsv/json
Ale tylko csv/tsv może używać --headerline
Możesz przeczytać więcej na oficjalny doc .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-26 03:20:01
Robert Stewart już odpowiedział Jak importować z mongoimport.
Proponuję łatwy sposób na import CSV za pomocą narzędzia 3T MongoChef (Wersja 3.2+). Może komuś pomóc w przyszłości.
- Wystarczy wybrać kolekcję
- Wybierz plik do zaimportowania
- można również odznaczyć dane, które mają zostać zaimportowane. Istnieje również wiele opcji.
- Kolekcja importowana
Zobacz Jak zaimportować wideo
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-29 07:57:17
Najpierw należy wyjść z powłoki mongo
, a następnie wykonać mongoimport
polecenie w następujący sposób:
Manojs-MacBook-Air:bin Aditya$ mongoimport -d marketdata -c minibars
--type csv
--headerline
--file '/Users/Aditya/Downloads/mstf.csv'
2017-05-13T20:00:41.989+0800 connected to: localhost
2017-05-13T20:00:44.123+0800 imported 97609 documents
Manojs-MacBook-Air:bin Aditya$
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-13 16:33:40
Odpowiedzi Roberta Stewarta są świetne.
Chciałbym dodać, że możesz również wpisywać swoje pola za pomocą --columHaveTypes i --fields w następujący sposób:
mongoimport -d myDb -c myCollection --type csv --file myCsv.csv
--columnsHaveTypes --fields "label.string(),code.string(),aBoolean.boolean()"
(uważaj, aby nie mieć spacji po przecinku między polami)
Dla innych typów, zobacz doc tutaj: https://docs.mongodb.com/manual/reference/program/mongoimport/#cmdoption-mongoimport-columnshavetypes
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-18 11:18:56
C:\wamp\mongodb\bin > mongoexport --db proj_mmm --collection offerings -- csv --fieldfile offerings_fields.txt -- out offers.csv
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-19 06:31:00
Po prostu użyj tego po wykonaniu mongoimport
Zwróci liczbę zaimportowanych obiektów
use db
db.collectionname.find().count()
Zwróci liczbę obiektów.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-07 13:33:35
Użycie:
mongoimport -d 'database_name' -c 'collection_name' --type csv --headerline --file filepath/file_name.csv
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-06 14:41:55
Mongoimport-D test-C test --type csv --file SampleCSVFile_119kb.csv --headerline
Sprawdź dane kolekcji:-
var collections = db.getCollectionNames();
for(var i = 0; i< collections.length; i++)
{
print('Collection: ' + collections[i]);
// print the name of each collection
db.getCollection(collections[i]).find().forEach(printjson);
//and then print the json of each of its elements
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-19 16:50:06
1]We can save xsl as .csv file
2] Got to MongoDB bin pathon cmd - > cd D:\Arkay\soft\MongoDB\bin
3] Run below command
> mongoimport.exe -d dbname -c collectionname --type csv --file "D:\Arkay\test.csv" --headerline
4] Verify on Mongo side using below coomand.
>db.collectioname.find().pretty().limit(1)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-16 14:02:28
W wersji 3.4 należy użyć następującej składni:
mongoimport -u "username" -p "password" -d "test" -c "collections" --type csv --file myCsv.csv --headrline
Po 3 dniach, w końcu zrobiłem to sam. Dziękuję wszystkim użytkownikom, którzy mnie wspierali.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-30 01:46:22
O dziwo nikt nie wspomniał --uri
flaga:
mongoimport --uri connectionString -c questions --type csv --file questions.csv --headerline
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-22 05:23:54
Dzielenie się dla przyszłych czytelników:
W naszym przypadku musieliśmy dodać parametr host
, aby to działało
mongoimport -h mongodb://someMongoDBhostUrl:somePORTrunningMongoDB/someDB -d someDB -c someCollection -u someUserName -p somePassword --file someCSVFile.csv --type csv --headerline --host=127.0.0.1
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-04 07:38:59