1

如何使用gorm从MongoDB中删除文档? findAll由于 findAll 返回的文档数量巨大,然后删除将不起作用。它导致堆问题。

我希望使用域类发送本机 mongo db 命令。我不想将所有域对象提取到 JVM 堆中,然后迭代删除它们。相反,我想将删除的标准发送给 mongo,并让它处理删除。

关于使用低级查询批量删除的任何指针?或任何其他方式?

4

2 回答 2

2

使用 mongo-gorm/gmongo 的low-levelAPI:

SomeDomain.collection.remove( [ date:[ $lt:now ] ] )

有关详细信息,请参阅用户指南

于 2015-07-29T20:26:30.087 回答
0

以下方法有助于将删除命令发送到 MongoDB。

MyDomainClass.collection.remove(new BasicDBObject("property", valueOrCondition))

我的要求是删除所有早于给定数据的文档。下面的代码帮助我实现了我想要的:

MyDomainClass.collection.remove(new BasicDBObject("createdDate", new BasicDBObject('$lt', createdDateCutOff)))
于 2015-07-29T19:40:13.227 回答