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