How to Update multiple documents in a MongoDB collection using Java?



Using the updateMany() method you can update all the documents of a collection.

Syntax

db.COLLECTION_NAME.update(<filter>, <update>)

In Java the com.mongodb.client.MongoCollection interface provides you a method with the same name. Using this method you can update multiple documents in a collection at once, to this method you need to pass the filter and values for the update.

Example

import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.client.model.Filters; import com.mongodb.client.model.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[] ) {       // Creating a Mongo client       MongoClient mongo = new MongoClient( "localhost" , 27017 );       //Connecting to the database       MongoDatabase database = mongo.getDatabase("myDatabase");       //Creating a collection object       MongoCollection<Document>collection =       database.getCollection("myCollection");       //Preparing documents       Document document1 = new Document("name", "Ram").append("age", 26).append("city", "Hyderabad");       Document document2 = new Document("name", "Robert").append("age", 27).append("city", "Delhi");       Document document3 = new Document("name", "Rahim").append("age", 30).append("city", "Delhi");       //Inserting the created documents       List<Document> list = new ArrayList<Document>();       list.add(document1);       list.add(document2);       list.add(document3);       collection.insertMany(list);       System.out.println("List of the documents: ");       FindIterable<Document> iterDoc = collection.find();       Iterator it = iterDoc.iterator();       while (it.hasNext()) {          System.out.println(it.next());       }       //Updating multiple documents       Bson filter = new Document("city", "Delhi");       Bson newValue = new Document("city", "Vijayawada");       Bson updateOperationDocument = new Document("$set", newValue);       collection.updateMany(filter, updateOperationDocument);       System.out.println("Document update successfully...");       System.out.println("List of the documents after update");       iterDoc = collection.find();       it = iterDoc.iterator();       while (it.hasNext()) {          System.out.println(it.next());       }    } }

Output

List of the documents: Document{{_id=5e88a61fe7a0124a4fc51b2c, name=Ram, age=26, city=Hyderabad}} Document{{_id=5e88a61fe7a0124a4fc51b2d, name=Robert, age=27, city=Delhi}} Document{{_id=5e88a61fe7a0124a4fc51b2e, name=Rahim, age=30, city=Delhi}} Document update successfully... List of the documents after update Document{{_id=5e88a61fe7a0124a4fc51b2c, name=Ram, age=26, city=Hyderabad}} Document{{_id=5e88a61fe7a0124a4fc51b2d, name=Robert, age=27, city=Vijayawada}} Document{{_id=5e88a61fe7a0124a4fc51b2e, name=Rahim, age=30, city=Vijayawada}}
Updated on: 2020-04-10T07:38:53+05:30

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements