티스토리 뷰
bulkWrite()를 이용해서 다수의 도큐먼트를 원하는 값으로 업데이트 할 수 있습니다.
아래 예제를 참고하여 코딩해 보세요..
List<WriteModel<Document>> updateDocuments = new ArrayList<WriteModel<Document>>();
for(업데이트할도큐먼트리스트) {
Document filterDocument = new Document();
filterDocument.append("_id", entityId); // 업데이트 대상을 찾을 조건
//Update doc
Document updateDocument = new Document(); // 업데이트할 필드와 값
Document setDocument = new Document();
setDocument.append("name", "xyz");
setDocument.append("role", "abc");
updateDocument.append("$set", setDocument);
//Update option
UpdateOptions updateOptions = new UpdateOptions();
updateOptions.upsert(false); //if true, will create a new doc in case of unmatched find
updateOptions.bypassDocumentValidation(false); //set true/false
//Prepare list of Updates
updateDocuments.add(
new UpdateOneModel<Document>(
filterDocument,
updateDocument,
updateOptions));
} // end-for
//Bulk write options
BulkWriteOptions bulkWriteOptions = new BulkWriteOptions();
bulkWriteOptions.ordered(false); //False to allow parallel execution
bulkWriteOptions.bypassDocumentValidation(true);
MongoCollection<Document> mongoCollection = mongoDB.getCollection("myCollection");
BulkWriteResult bulkWriteResult = null;
try {
//Perform bulk update
bulkWriteResult = mongoCollection.bulkWrite(updateDocuments,
bulkWriteOptions);
} catch (BulkWriteException e) {
//Handle bulkwrite exception
List<BulkWriteError> bulkWriteErrors = e.getWriteErrors();
for (BulkWriteError bulkWriteError : bulkWriteErrors) {
int failedIndex = bulkWriteError.getIndex();
Long failedEntityId = entityIDs.get(failedIndex);
System.out.println("Failed record: " + failedEntityId);
//handle rollback
}
}
int rowsUpdated = bulkWriteResult.getModifiedCount();
출처: http://ashutosh-srivastav-
- Total
- Today
- Yesterday
- 별잉 빛나는 밤
- 카카오 에드
- yugabyteDB
- 유가바이트디비
- node.js
- 화분벌레
- GKRS
- weka
- 브리다 정수기
- 매직 트랙패드2
- 톡토기
- Life Chair
- 배당급
- 빈센트 반 고흐
- 증권정보포털
- Sybase IQ
- JMW 헤어드라이기기
- 남설 팔찌
- 고체 향수
- 르세라핌
- 로니카 BCS
- 별이 빚나는 밤
- Pixel Pals
- VARIDESK
- 홈 오피스
- 솔리드 쿨론
- 파나소닉 비데 DL-EH10KWS
- 오미크론
- 루미큐브 종류
- 코라나 19
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |