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