0

我正在调用MongoTemplate.find(query, type)它返回一个List<T>. 我的问题是,如何在一个数据库调用中从数据库集合中删除列表中的所有元素。我知道如果我知道它的结构,我可以Query手动创建一个,但如果我不知道它是什么怎么办。idTT

MongoTemplate有一个remove我可以通过的方法T。我需要的是等价的removeAll(Collection<T> items, Class<T> type)

编辑每个答案

我需要处理每个元素并确定要删除哪些元素,因此我不能简单地将 to 传递Queryremove.

4

1 回答 1

0

您可以简单地调用remove(Query, Class) ,而不是调用find(Query, Class)然后删除所有返回的文档(一个集合或一个接一个) 。这种方式要好得多,因为您不必将所有文档都返回给客户端,而是在数据库本身中发出删除查询。

于 2014-02-06T20:36:14.747 回答