Grails gorm mongodb 分块删除
Grails gorm mongodb delete in chunks
如何使用 gorm 从 MongoDB 中批量删除文档?
findAll
后跟 delete 是行不通的,因为 findAll 返回的文档数量巨大。它会导致堆问题。
我希望使用域 class 发送本机 mongo db 命令。
我不想将所有域对象提取到 JVM 堆中,然后迭代删除它们。相反,我想将删除的标准发送到 mongo,并让它处理删除。
关于使用低级查询批量删除的任何指示?或任何其他方式?
以下方法有助于将删除命令发送到 MongoDB。
MyDomainClass.collection.remove(new BasicDBObject("property", valueOrCondition))
我的要求是删除所有早于给定数据的文档。下面的代码帮助我实现了我想要的:
MyDomainClass.collection.remove(new BasicDBObject("createdDate", new BasicDBObject('$lt', createdDateCutOff)))
使用 mongo-gorm/gmongo 的 low-level
API:
SomeDomain.collection.remove( [ date:[ $lt:now ] ] )
如何使用 gorm 从 MongoDB 中批量删除文档?
findAll
后跟 delete 是行不通的,因为 findAll 返回的文档数量巨大。它会导致堆问题。
我希望使用域 class 发送本机 mongo db 命令。 我不想将所有域对象提取到 JVM 堆中,然后迭代删除它们。相反,我想将删除的标准发送到 mongo,并让它处理删除。
关于使用低级查询批量删除的任何指示?或任何其他方式?
以下方法有助于将删除命令发送到 MongoDB。
MyDomainClass.collection.remove(new BasicDBObject("property", valueOrCondition))
我的要求是删除所有早于给定数据的文档。下面的代码帮助我实现了我想要的:
MyDomainClass.collection.remove(new BasicDBObject("createdDate", new BasicDBObject('$lt', createdDateCutOff)))
使用 mongo-gorm/gmongo 的 low-level
API:
SomeDomain.collection.remove( [ date:[ $lt:now ] ] )