Cập nhật () phương thức cập nhật các giá trị trong tài liệu hiện có.
Cú pháp
db.COLLECTION_NAME.update(SELECTIOIN_CRITERIA, UPDATED_DATA)
Trong Java, bạn có thể cập nhật một tài liệu duy nhất bằng cách sử dụng updateOne () phương pháp của com.mongodb.client.MongoCollection giao diện. Đối với phương pháp này, bạn cần chuyển bộ lọc và các giá trị cho bản cập nhật.
Ví dụ
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 com.mongodb.MongoClient;
public class UpdatingDocuments {
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", "Vishakhapatnam");
Document document3 = new Document("name", "Rhim").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);
//Updating a document
collection.updateOne(Filters.eq("name", "Robert"), Updates.set("city", "Delhi"));
System.out.println("Document update successfully...");
FindIterable<Document> iterDoc = collection.find();
Iterator it = iterDoc.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
}
} Đầu ra
Document update successfully...
Document after update:
Document{{_id=5e86dd21e9b25f3460b1abe0, name=Ram, age=26, city=Hyderabad}}
Document{{_id=5e86dd21e9b25f3460b1abe1, name=Robert, age=27, city=Vishakhapatnam}}
Document{{_id=5e86dd21e9b25f3460b1abe2, name=Rhim, age=30, city=Delhi}}