Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java를 사용하여 MongoDB 컬렉션의 여러 문서를 업데이트하는 방법은 무엇입니까?

<시간/>

updateMany() 사용 컬렉션의 모든 문서를 업데이트할 수 있는 방법입니다.

구문

db.COLLECTION_NAME.update(<필터>, <업데이트>)

Java에서 com.mongodb.client.MongoCollection 인터페이스는 동일한 이름의 메소드를 제공합니다. 이 방법을 사용하면 컬렉션의 여러 문서를 한 번에 업데이트할 수 있습니다. 이 방법을 사용하려면 업데이트를 위한 필터와 값을 전달해야 합니다.

com.mongodb.client.FindIterable 가져오기;com.mongodb.client.MongoCollection 가져오기;com.mongodb.client.MongoDatabase 가져오기;com.mongodb.client.model.Filters 가져오기 Updates;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import org.bson.Document;import org.bson.conversions.Bson;import com.mongodb.MongoClient;public class UpdatingMultipleDocuments { public static void main( String args[] ) { // Mongo 클라이언트 생성 MongoClient mongo =new MongoClient( "localhost" , 27017 ); //데이터베이스 접속 MongoDatabase database =mongo.getDatabase("myDatabase"); //컬렉션 객체 생성 MongoCollectioncollection =database.getCollection("myCollection"); //문서 준비 Document document1 =new Document("name", "Ram").append("age", 26).append("city", "Hyderabad"); 문서 document2 =new Document("이름", "로버트").append("나이", 27).append("도시", "델리"); 문서 document3 =new Document("이름", "라힘").append("나이", 30).append("도시", "델리"); //생성된 문서 삽입 List list =new ArrayList(); list.add(문서1); list.add(문서2); list.add(문서3); collection.insertMany(목록); System.out.println("문서 목록:"); FindIterable<문서> iterDoc =collection.find(); Iterator it =iterDoc.iterator(); 동안 (it.hasNext()) { System.out.println(it.next()); } //여러 문서 업데이트 Bson filter =new Document("city", "Delhi"); Bson newValue =new Document("도시", "비자야와다"); Bson updateOperationDocument =new Document("$set", newValue); collection.updateMany(필터, updateOperationDocument); System.out.println("문서 업데이트 성공..."); System.out.println("업데이트 후 문서 목록"); iterDoc =컬렉션.찾기(); it =iterDoc.iterator(); 동안 (it.hasNext()) { System.out.println(it.next()); } }}

출력

문서 목록:문서{{_id=5e88a61fe7a0124a4fc51b2c, name=Ram, age=26, city=Hyderabad}}문서{{_id=5e88a61fe7a0124a4fc51b2d, name=Robert}, age=27 {_id=5e88a61fe7a0124a4fc51b2e, name=Rahim, age=30, city=Delhi}}문서 업데이트 성공...문서 업데이트 후 문서 목록{{_id=5e88a61fe7a0124a4fc51b2c, name=Ram}, age=26 {{_id=5e88a61fe7a0124a4fc51b2d, name=Robert, age=27, city=Vijayawada}}문서{{_id=5e88a61fe7a0124a4fc51b2e, name=Rahim, age=30, city=Vijayawada}