2016-07-06 1 views
0

특정 값으로 12,000 개의 레코드를 업데이트하려고합니다. 값은 mongoimport가 사용될 수 있다고 생각했기 때문에 mongo의 문서마다 다릅니다. 시스템에 업데이트 할 모든 올바른 값이 들어있는 CSV 파일이 있습니다.MongoImport upsert 새 문서 만들기

cmd 라인을 통해 mongoimport를 실행하면 문서를 가져 오지만 기존 문서를 업데이트하는 대신 새 문서를 만듭니다.

mongoimport --host xx.xxx.x.xxxx --port 27017 -d test -c test --type csv --headerline --file budgettest1.csv --upsert -vvvv 

나는 또한에 다음을 시도했다 : Iv'e는 참조로 _id 필드를 사용하고 또한 그것을 떠나 모든 경우에 그냥 새 레코드를 생성
mongoimport --host xx.xxx.x.xxxx --port 27017 -d test -c test --type csv --headerline --file budgettest1.csv -vvvv --upsert --upsertFields customer,item,fiscalYear,fiscalMonth,weekID,regularSellingPrice,currentYearPlannedUnits,currentYearPlannedDollars 

. 모든 정보는 크게 감사하겠습니다.

답변

0

몽고 내가 발견 그 표현을 처리 할 수 ​​없습니다. 이 경우에는 업데이트되는 데이터의 양과 컬렉션에있는 데이터의 양과는 관계가없는 컬렉션을 삭제해야합니다. 이 작업을 수행하려면 .js 파일을 만들어야합니다.

0

시도는 현재 documenttion을 발견 할 수

mongoimport

--upsert 사용 :

https://docs.mongodb.com/manual/reference/program/mongoimport/

+0

고맙습니다. 임 확실하지 않은 경우 어디에 위치에 상관없이 문제가 (올바른 경우 나 메신저 잘못). 그 코드는 이미 끝에 있지만 mongoimport 명령 다음에 --upsert를 시도해 본 결과 같은 결과가 반환되었습니다 .. 새 문서가 만들어졌습니다. – Govna

+0

아, 죄송합니다. 시도해 보지 못했습니다. – Braindead