java - Mongo/Spring boot 从集合中删除列表中的所有文档

标签 java mongodb spring-boot

有没有办法从集合中批量删除列表(List)的所有文档? 我正在考虑类似的事情: mongooperations.deleteAll(list);

它不一定是一个列表,只要是我可以收集文档并批量删除它们的任何集合,而不是总是删除单个文档。

最佳答案

以下是删除文档 _id 列表的查询。假设 _id 是数字,这有效:

List<Integer> ids = Arrays.asList(1, 2, 3, 4);
MongoOperations mongoOps = new MongoTemplate(MongoClients.create(), "testDB");
Query q = new Query(where("_id").in(ids));
List<Test> deletedDocs = mongoOps.findAllAndRemove(q, Test.class, "testColl");
// -or-
//List<Document> deletedDocs = mongoOps.findAllAndRemove(q, "testColl");
System.out.println(deletedDocs);

关于java - Mongo/Spring boot 从集合中删除列表中的所有文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60149034/

相关文章:

java - OSGi - 如何通过现有的 bndrun 文件运行新的包

MongoDB:仅获取过去 24 小时内创建的文档?

javascript - Mongoose - 使用 objectid 保存对象

Spring Boot 2.Hikari连接池优化

java - 没有 SpringExtension.class

java - 将.chm帮助文件集成到java应用程序(jsp页面)中的步骤

java - 如何将元素从 `2d array` 复制到 `Arraylist` ?

java - 如何正确解决 Hudson 和 ant 的部署权限问题?

node.js - 如何在nodejs中使用foreach进行Mongodb操作

java - 如果没有@Service @Controller,AOP 无法切入类