[MONGODB] 봄 데이터 MongoDB를하고 대량 업데이트
MONGODB봄 데이터 MongoDB를하고 대량 업데이트
나는 봄 데이터 MongoDB를 사용하고하고 하나가 여기에 설명 된 것처럼 대량 업데이트 수행하고 싶습니다 : http://docs.mongodb.org/manual/reference/method/Bulk.find.update/#Bulk.find.update를
일반 드라이버를 사용하는 경우는 다음과 같습니다 :
다음의 예는 () 작업이 항목 수집을 위해 빌더 벌크을 초기화하고, 작업 목록에 다양한 멀티 업데이트 작업을 추가합니다.
var bulk = db.items.initializeUnorderedBulkOp();
bulk.find( { status: "D" } ).update( { $set: { status: "I", points: "0" } } );
bulk.find( { item: null } ).update( { $set: { item: "TBD" } } );
bulk.execute()
봄 데이터 MongoDB를 가진 유사한 결과를 얻을 수있는 방법이 있습니까?
해결법
-
==============================
1.대량 업데이트는 스프링 데이터 MongoDB를의 1.9.0.RELEASE에서 지원됩니다. 다음은 샘플입니다 :
대량 업데이트는 스프링 데이터 MongoDB를의 1.9.0.RELEASE에서 지원됩니다. 다음은 샘플입니다 :
BulkOperations ops = template.bulkOps(BulkMode.UNORDERED, Match.class); for (User user : users) { Update update = new Update(); ... ops.updateOne(query(where("id").is(user.getId())), update); } ops.execute();
-
==============================
2.드라이버가 현재와 같이 당신은 이렇게 오래 사용할 수 있으며, 당신이 얘기하는 서버는 적어도 대량 작업에 필요 MongoDB를한다. 지금 바로 봄의 데이터에서 아무것도 (그리고 다른 높은 수준의 드라이버 추상화에 대한 거의 같은)이있다 생각하지만, 당신이 할 수 물론 액세스의 기본 드라이버 컬렉션 개체하지 않는 구현 대량의 API에 대한 액세스를 :
드라이버가 현재와 같이 당신은 이렇게 오래 사용할 수 있으며, 당신이 얘기하는 서버는 적어도 대량 작업에 필요 MongoDB를한다. 지금 바로 봄의 데이터에서 아무것도 (그리고 다른 높은 수준의 드라이버 추상화에 대한 거의 같은)이있다 생각하지만, 당신이 할 수 물론 액세스의 기본 드라이버 컬렉션 개체하지 않는 구현 대량의 API에 대한 액세스를 :
DBCollection collection = mongoOperation.getCollection("collection"); BulkWriteOperation bulk = collection.initializeOrderedBulkOperation(); bulk.find(new BasicDBObject("status","D")) .update(new BasicDBObject( new BasicDBObject( "$set",new BasicDBObject( "status", "I" ).append( "points", 0 ) ) )); bulk.find(new BasicDBObject("item",null)) .update(new BasicDBObject( new BasicDBObject( "$set", new BasicDBObject("item","TBD") ) )); BulkWriteResult writeResult = bulk.execute(); System.out.println(writeResult);
당신이 중 하나를 정의하여 필요한 DBOBJECT 유형을 작성, 또는 모든 지원 그들이 구축하는 DBOBJECT "추출"해야 봄 몽고 라이브러리에 제공된 빌더를 사용할 수 있습니다.
from https://stackoverflow.com/questions/26657055/spring-data-mongodb-and-bulk-update by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] MongoDB를 버전 3.0.0 클라이언트 robomongo의 mongovue (0) | 2019.12.26 |
---|---|
[MONGODB] MongoDB를 가상 필드로 정렬 (몽구스) (0) | 2019.12.26 |
[MONGODB] MongoDB를 연결 문자열에서 핸들 @ (0) | 2019.12.26 |
[MONGODB] MongoDB를가 localhost로 연결할 수 있지만 로컬 호스트의 IP 주소에 연결할 수 있습니다 (0) | 2019.12.26 |
[MONGODB] 산화 마그네슘 이동 서버에 너무 많은 열려있는 파일 (0) | 2019.12.26 |