我在后端有一个带有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不支持全部删除。如果有人知道任何解决方法,请告诉我。
答案 0 :(得分:3)
您应该可以使用以下语法删除所有内容:
Resource.collection.remove(new BasicDBObject());
假设资源是一个集合。
答案 1 :(得分:0)
我尝试了许多不同的选择但没有运气,但以下一行对我有用:
db.MEventCampaign.remove(version: 0) //or whatever means "all" for your data
对于新的域名定义,我切换为使用 new ,更新,已删除的标志。它的工作方式就像这样一种魅力 - 但这些系列正在成长。