mongo import를 사용하여 CSV 파일을 Import하려면 어떻게 해야 합니까?
연락처 정보가 포함된 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
에는 「」라고 써 있다.imported 1 objects
, 에서는 MongoDB를 db.things.find()
새로운 문서가 표시되지 않습니다.
제가 무엇을 빠뜨리고 있나요?
당신의 예는 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 }
mongo import에서 에러는 발생하지 않고 0레코드 수입으로 보고하는 것과 같은 문제에 당황했습니다.Windows 콤마 구분(.csv) 형식을 지정하지 않고 기본 "Save as.." "xls as csv"를 사용하여 Mac용 OSX Excel 2011 버전을 사용하여 작동하지 않는 파일을 저장했습니다.이 사이트를 조사하여 "Windows 콤마 구분(.csv)" 형식을 사용하여 다시 저장"을 시도한 후 mongo Import는 정상적으로 수행되었습니다.mongoimport에서는 각 행에 새로운 행 문자가 표시되고 Mac Excel 2011 CSV 내보내기에서는 각 행 끝에 해당 문자가 표시되지 않는 것으로 생각됩니다.
다음 명령을 실행해야 합니다.
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는 첫 번째 행을 별개의 문서로 Import합니다.
자세한 내용은 mongo import
실제 가동 환경에서 작업하는 경우 인증이 필요할 가능성이 높습니다.이와 같은 기능을 사용하여 적절한 자격 증명을 사용하여 올바른 데이터베이스에 대해 인증할 수 있습니다.
mongoimport -d db_name -c collection_name --type csv --file filename.csv --headerline --host hostname:portnumber --authenticationDatabase admin --username 'iamauser' --password 'pwd123'
나는 이것을 mongoimport 쉘에 사용한다.
mongoimport --db db_name --collection collection_name --type csv --file C:\\Your_file_path\target_file.csv --headerline
은 csv할 수 사용할 수 csv//json뿐입니다.--headerline
자세한 내용은 공식 문서를 참조하십시오.
파일 끝에 빈 줄이 있는지 확인하십시오. 그렇지 않으면 mongoimport 일부 버전에서는 마지막 줄이 무시됩니다.
CSV 파일을 Import 하려고 했을 때 에러가 발생했습니다.내가 한 짓 말이야먼저 머리글자 열 이름을 대문자로 변경하고 "-"를 삭제하고 필요에 따라 "_"를 추가했습니다.다음으로 CSV를 mongo로 Import하기 위한 다음 명령을 입력합니다.
$ mongoimport --db=database_name --collection=collection_name --type=csv --file=file_name.csv --headerline
로버트 스튜어트는 mongo import로 수입하는 방법에 대해 이미 답변했습니다.
3T MongoChef Tool(3.2+버전)에서 CSV를 우아하게 Import할 수 있는 쉬운 방법을 제안합니다.미래에 누군가를 도울지도 몰라.
- 컬렉션을 선택하기만 하면 됩니다.
- 가져올 파일 선택
- Import할 데이터의 선택을 해제할 수도 있습니다.또한 많은 옵션이 있습니다.
- 가져온 컬렉션
'하다'에서.mongo
을 하고 나서, 「」를 합니다.mongoimport
츠키다
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$
로버트 스튜어트의 대답은 훌륭하다.
다음과 같이 --columHaveTypes 및 --fields를 사용하여 필드를 입력할 수도 있습니다.
mongoimport -d myDb -c myCollection --type csv --file myCsv.csv
--columnsHaveTypes --fields "label.string(),code.string(),aBoolean.boolean()"
(필드 사이에 쉼표 뒤에 공백이 없도록 주의해 주세요.
기타 타입에 대해서는http://https://docs.mongodb.com/manual/reference/program/mongoimport/ #syslogoption-mongoimport-columnshavetypes 를 참조해 주세요.
3.4 버전의 경우 다음 구문을 사용하십시오.
mongoimport -u "username" -p "password" -d "test" -c "collections" --type csv --file myCsv.csv --headerline
3일 만에 드디어 혼자 만들었어요.저를 응원해주신 모든 사용자분들께 감사드립니다.
저의 요건은 리모트로의 Import였습니다.MongoDB
★★★★★★의 경우mongoimport v3.0.7
하다
mongoimport -h <host>:<port> -u <db-user> -p <db-password> -d <database-name> -c <collection-name> --file <csv file location> --fields <name of the columns(comma seperated) in csv> --type csv
예를 들어 다음과 같습니다.
mongoimport -h 1234.mlab.com:61486 -u arpitaggarwal -p password -d my-database -c employees --file employees.csv --fields name,email --type csv
Import 후의 모습을 나타낸 스크린샷은 다음과 같습니다.
서 ''는name
★★★★★★★★★★★★★★★★★」email
are are are are are 。.csv
filename을 클릭합니다.
의 「」.csv
머리글이 없는 컬럼이 1개밖에 없는 파일이 있습니다.다음 명령어는 나에게 효과가 있었습니다.
mongoimport -h <mongodb-host>:<mongodb-port> -u <username> -p <password> -d <mongodb-database-name> -c <collection-name> --file file.csv --fields <field-name> --type csv
여기서 field-name은 의 컬럼 헤더 이름을 나타냅니다..csv
filename을 클릭합니다.
C:\wamp\mongodb\bin>mongoexport --db proj_mmm --collection servings --csv --fieldFile servings_fields.txt --out offerings.csv
mongo Import 실행 후 사용
가져온 개체 수를 반환합니다.
use db
db.collectionname.find().count()
개체 수를 반환합니다.
사용방법:
mongoimport -d 'database_name' -c 'collection_name' --type csv --headerline --file filepath/file_name.csv
mongoimport -d test -c test --type csv --file SampleCSVFile_119kb.csv --headerline
수집 데이터 확인:-
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
}
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)
하게도 아무도 하지 않았다.--uri
삭제:
mongoimport --uri connectionString -c questions --type csv --file questions.csv --headerline
향후 독자를 위한 공유:
경우,는 리의, 리는 the the를 .host
시키기 위한
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
.csv 파일을 /usr/local/bin 또는 mondodb에 있는 폴더에 복사하십시오.
위의 답변은 모두 훌륭합니다.풀기능을 탑재한 어플리케이션을 이용하는 방법.
단, 시제품을 신속하게 제작하고 컬렉션이 변경되어 유연성이 향상되고 초기 코드 베이스를 최소화할 수 있는 훨씬 더 간단한 방법이 있습니다.
지금쯤은 기본적으로 몽고 수입을 포기해도 됩니다.이 질문에 언급됐다면 3시간을 절약할 수 있었을 텐데.이제 다른 사람들과 공유하겠습니다.
Mongodb는 Mongo Compass라고 불리는 GUI를 가지고 있으며 클릭 한 번으로 csv와 json Import 기능을 바로 사용할 수 있습니다.그것은 몽고 생태계의 공식적인 부분이다.작성 시 무료이며, 제 사용 사례에 매우 적합합니다.https://www.mongodb.com/products/compass
- 간단한 설치 절차에 따라 MongoDB 나침반을 기계에서 실행할 수 있습니다.GUI에서 직접 DB 연결 및 인증을 위한 몇 가지 필드입니다.
- csv/json 파일을 Import합니다.사용자(나)가 검증하는 데 30KB 파일의 구문 분석이 사용자(나)가 1초도 걸리지 않았습니다.
- 각 속성의 "유형"을 확인합니다.훌륭한 특징입니다.부란, 정수 등의 속성 타입을 직접 언급할 수 있습니다.내 경험으로는, 모두 기본적으로 문자열로 되어 있는 것 같아.가져오기 전에 업데이트할 수 있습니다.날짜는 좀 더 까다로웠고 코딩 측면에서 특별한 주의가 필요했다.
- 클릭 한 번 더 하면 csv는 mongo db 로컬 또는 클라우드에서 수집됩니다.보일라!
파일이 여러 개 있고 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)
언급URL : https://stackoverflow.com/questions/4686500/how-to-use-mongoimport-to-import-csv-files
'programing' 카테고리의 다른 글
Composer/WordPress : wp-content 디렉토리를 커밋해야 합니다. (0) | 2023.03.29 |
---|---|
연락처 양식 7의 자리 표시자 - Wordpress (0) | 2023.03.29 |
jq - 다음을 포함하지 않는 json을 필터링하는 방법 (0) | 2023.03.29 |
"Post"에서 다른 이름으로 이름 변경 (0) | 2023.03.29 |
WooCommerce 주문에 대한 지불 방법을 ID별로 확인하는 방법은 무엇입니까? (0) | 2023.03.29 |