java - Mongo/Spring boot 从集合中删除列表中的所有文档
问题描述
有没有办法从集合中批量删除列表(列表)的所有文档?我正在考虑类似的事情:mongooperations.deleteAll(list);
它不必是一个列表,只要是我可以收集文档并批量删除它们的任何集合,而不是总是删除单个文档。
解决方案
这是删除文档列表的查询_id
。假设_id
's 是数字,这有效:
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);
推荐阅读
- php - 按照发送的表格
- c# - 为什么 Visual Studio 不允许我添加空白表单?
- javascript - Vue.js - 从子级向父级发出事件
- php - PHP 脚本不会将 BLOB 图像插入数据库,而是插入文件名
- unix - fork() 执行和进程数
- c++ - 终端如何以编程方式在 shell 提示符处阻止退格,这样您就不能在它上面退格,例如 $ 用于 bash 或 C:\blah\>
- windows - 批处理,向后读取文件名
- sql - 从 xml 列读取多行到表
- javascript - 在 Froala 编辑器中上传图像时如何替换默认图像 URL 火基 URL?
- r - 如何将 Conda 环境与 RStudio Server 一起使用?