【问题标题】:MongoTemplate: remove list of elements returned from `find`MongoTemplate:删除从`find`返回的元素列表
【发布时间】:2014-02-06 20:10:49
【问题描述】:

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

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

按答案编辑

我需要处理每个元素并确定要删除哪些元素,因此我不能简单地将Query 传递给remove。

【问题讨论】:

    标签: java mongodb spring-data mongotemplate


    【解决方案1】:

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

    【讨论】:

    • 我需要处理每个元素并确定要删除哪些元素。
    • Query 定义了您要删除的文档
    猜你喜欢
    • 2021-07-10
    • 1970-01-01
    • 2013-11-25
    • 2017-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多