Java 和 MongoDB - 更新文档



若要更新集合中的文档,可使用 collection.updateOne() 方法更新集合中的特定文档。

collection.updateOne(filter,update);

实例

以下为更新和显示已更新文档的代码片段 −

import java.util.ArrayList;
import java.util.List;

import org.bson.Document;

import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import com.mongodb.client.model.Updates;

public class Tester {
   public static void main(String[] args) {
      // Creating a Mongo client 
      MongoClient mongoClient = MongoClients.create("mongodb://127.0.0.1:27017");
      MongoDatabase database = mongoClient.getDatabase("myDb");

      // Get the collection
      MongoCollection<Document> collection = database.getCollection("sampleCollection");

      // Find all documents
      collection.updateOne(Filters.eq("First_Name","Mahesh"),
      Updates.set("e_mail", "maheshparashar@gmail.com"));
      System.out.println("Document Updated.");
      System.out.println("***Updated Document***");
      
      // Select a particular document
      FindIterable<Document> documents = collection.find(Filters.eq("First_Name","Mahesh"));

      for (Document document : documents) {
         System.out.println(document);
      }
   }
}

现在,让我们编译并运行以上程序,如下所示。

$javac Tester.java 
$java Tester

输出

运行时,以上程序将生成以下输出。

Document Updated.
***Updated Document***
Document{{_id=60b70d426214461f10ac5c99, First_Name=Mahesh, Last_Name=Parashar, Date_Of_Birth=1990-08-21, e_mail=maheshparashar@gmail.com, phone=9034343345}}
广告