Grails / MongoDB全部删除

时间:2014-07-08 22:32:34

标签: mongodb grails gorm

我在后端有一个带有Mongodb的Grails应用程序。我正在尝试在执行函数后立即删除集合的所有记录。这是我在ResourceController中尝试的内容:

def report()
{
    Resource.where { }.deleteAll() //expected to delete all records from resource collection.
}

它不起作用。

def report()
{
    def p = Resource.findAll()
    p.delete()
}

两者都没有成功。 有没有办法在执行方法后立即从集合中删除所有记录?我阅读了文档,并说GORM不支持全部删除。如果有人知道任何解决方法,请告诉我。

2 个答案:

答案 0 :(得分:3)

您应该可以使用以下语法删除所有内容:

Resource.collection.remove(new BasicDBObject());

假设资源是一个集合。

答案 1 :(得分:0)

我尝试了许多不同的选择但没有运气,但以下一行对我有用:

db.MEventCampaign.remove(version: 0) //or whatever means "all" for your data

对于新的域名定义,我切换为使用 new 更新已删除的标志。它的工作方式就像这样一种魅力 - 但这些系列正在成长。