내장된 mongoimport.exe를 사용하여 test.csv 파일을 가져옵니다(테스트 내용은 다음과 같습니다).
으아아아질문:
가져온 후 find({name:/^test/})
를 사용하여 쿼리한 결과 모든 패스 필드에 오류가 표시되는 것을 발견했습니다(csv의 원래 값과 완전히 다르거나 빈 값이 표시되거나 텍스트의 절반만 표시되는 등). MongoDB가 큰따옴표를 사용하여 텍스트 레코드를 올바르게 삽입합니까? ?
한개씩 삽입하거나 일괄적으로 가져오더라도 큰따옴표가 있는 레코드는 삽입할 수 없습니다. ""를 사용하여 이스케이프하더라도 도와주세요!
PHPz2017-04-24 09:15:20
CSV 기준:
으아악당신이 제시한 예에서는 test1
과 test4
모두 불법입니다. MongoDB가 RFC 4180 표준에 따라 CSV를 구문 분석하는지 확인하지는 않았지만 파일 형식에 큰 문제가 있는 것 같습니다.
따라서 데이터베이스로 가져오기 전에 CSV 파일을 표준화하는 도구를 사용하는 것이 좋습니다. 데이터 용량이 얼마나 큰지는 모르겠지만 이는 단순한 텍스트 처리일 뿐이므로 시간이 많이 소요됩니다. 허용됩니다.
다음은 완벽하지는 않지만 대부분의 상황에 적합한 해결 방법입니다.
으아악https://tools.ietf.org/html/rfc4180