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}}