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

时间:2020-02-10 11:03:18

标签: java mongodb spring-boot

是否可以从集合中批量删除列表(列表)的所有文档? 我在想类似mongooperations.deleteAll(list);

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

1 个答案:

答案 0 :(得分:0)

这里是删除文档_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);