我正在呼叫MongoTemplate.find(query, type)
,并返回List<T>
。我的问题是,如何在一次数据库调用中从数据库集合中删除列表中的所有元素。我知道如果我知道Query
的结构,我可以使用id
手动创建T
,但如果我不知道T
是什么,该怎么办呢?
MongoTemplate
有一个remove
方法,我可以通过T
。我需要的是等效的removeAll(Collection<T> items, Class<T> type)
每个答案的编辑
我需要处理每个元素并确定要删除的元素,这样我就不能简单地将Query
传递给remove
。
答案 0 :(得分:0)
您可以简单地拨打find(Query, Class),而不是调用remove(Query, Class)然后删除所有返回的文档(一个集合或一个一个)。这样做要好得多,因为您不必将所有文档都返回给客户端,而是在数据库本身中发出删除查询。