MongoDB Java 驱动程序 v4.3 删除文档
2021/10/2 2:11:55
本文主要是介绍MongoDB Java 驱动程序 v4.3 删除文档,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
官网地址:https://docs.mongodb.com/drivers/java/sync/current/usage-examples/deleteOne/
删除文档
您可以使用对象deleteOne()
上的方法从集合中删除单个文档MongoCollection
。该方法接受与您要删除的文档匹配的查询过滤器。如果不指定过滤器,MongoDB 将匹配集合中的第一个文档。该 deleteOne()
方法仅删除匹配的第一个文档。
此方法返回一个实例,DeleteResult
其中包含的信息包括由于操作而删除了多少文档。
如果删除操作失败,驱动程序会引发异常。有关在特定条件下引发的异常类型的更多信息,请参阅deleteOne()
本页底部链接的 API 文档。
示例
以下代码段从数据库movies
集合中删除单个文档sample_mflix
。该示例使用eq()
过滤器来匹配与title
文本完全匹配的 电影'The Garbage Pail Kids Movie'
。
此示例使用连接字符串连接到 MongoDB 实例。要了解有关连接到 MongoDB 实例的更多信息,请参阅 连接指南。
package usage.examples; import static com.mongodb.client.model.Filters.eq; import org.bson.Document; import org.bson.conversions.Bson; import com.mongodb.MongoException; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.client.result.DeleteResult; public class DeleteOne { public static void main(String[] args) { // Replace the uri string with your MongoDB deployment's connection string String uri = "<connection string uri>"; try (MongoClient mongoClient = MongoClients.create(uri)) { MongoDatabase database = mongoClient.getDatabase("sample_mflix"); MongoCollection<Document> collection = database.getCollection("movies"); Bson query = eq("title", "The Garbage Pail Kids Movie"); try { DeleteResult result = collection.deleteOne(query); System.out.println("Deleted document count: " + result.getDeletedCount()); } catch (MongoException me) { System.err.println("Unable to delete due to an error: " + me); } } } }
运行示例时,如果您在调用中传递的查询过滤器 deleteOne()
匹配文档并将其删除,您应该会看到如下所示的输出:
Deleted document count: 1
如果您的查询过滤器与您的集合中的文档不匹配,您的调用不会deleteOne()
删除任何文档并返回以下内容:
Deleted document count: 0
删除多个文档
通过调用对象deleteMany()
上的方法,您可以在单个操作中从集合中删除多个文档MongoCollection
。
要指定要删除的文档,请传递与要删除的文档匹配的查询过滤器。如果您提供一个空文档,MongoDB 会匹配集合中的所有文档并删除它们。虽然您可以使用deleteMany()
删除集合中的所有文档,但请考虑改用该drop()
方法以获得更好的性能。
成功删除后,此方法返回 的实例 DeleteResult
。您可以通过调用实例getDeletedCount()
上的方法 来检索信息,例如删除的文档数DeleteResult
。
如果删除操作失败,驱动程序会引发异常。有关在特定条件下引发的异常类型的更多信息,请参阅deleteMany()
本页底部链接的 API 文档。
示例
以下代码段从数据库中的movies
集合中删除多个文档sample_mflix
。
传递给查询筛选deleteMany()
方法包含所有电影文件相匹配rating
的小于1.9的在imdb
子文件。
此示例使用连接字符串连接到 MongoDB 实例。要了解有关连接到 MongoDB 实例的更多信息,请参阅 连接指南。
package usage.examples; import static com.mongodb.client.model.Filters.lt; import org.bson.Document; import org.bson.conversions.Bson; import com.mongodb.MongoException; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.client.result.DeleteResult; public class DeleteMany { public static void main(String[] args) { // Replace the uri string with your MongoDB deployment's connection string String uri = "<connection string uri>"; try (MongoClient mongoClient = MongoClients.create(uri)) { MongoDatabase database = mongoClient.getDatabase("sample_mflix"); MongoCollection<Document> collection = database.getCollection("movies"); Bson query = lt("imdb.rating", 1.9); try { DeleteResult result = collection.deleteMany(query); System.out.println("Deleted document count: " + result.getDeletedCount()); } catch (MongoException me) { System.err.println("Unable to delete due to an error: " + me); } } } }
运行该示例时,您应该会看到输出报告在调用 deleteMany()。
Deleted document count: 4
提示 传统 API
如果您使用的是旧 API, 请参阅我们的常见问题解答页面 以了解您需要对此代码示例进行哪些更改。
这篇关于MongoDB Java 驱动程序 v4.3 删除文档的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-28MQ底层原理资料详解:新手入门教程
- 2024-11-28MQ项目开发资料详解:新手入门教程
- 2024-11-28MQ项目开发资料详解:入门与初级用户指南
- 2024-11-28MQ消息队列资料入门教程
- 2024-11-28MQ消息队列资料:新手入门详解
- 2024-11-28MQ消息中间件资料详解与应用教程
- 2024-11-28MQ消息中间件资料入门教程
- 2024-11-28MQ源码资料详解与入门教程
- 2024-11-28MQ源码资料入门教程
- 2024-11-28RocketMQ底层原理资料详解