2017-08-03 44 views
1

如标题所示,我想删除数据库的所有内容。我正在Python中使用Flask和MongoAlchemy创建数据库应用程序。我有类哪些模型的文件。其结构是:如何使用MongoAlchemy删除数据库的所有内容

class People(db.Document): 
    Name = db.StringField() 
    Age = db.IntField() 
    Password = db.StringField() 
    Vms = db.AnythingField() 

随着删除方法我只能删除一个文件一次,基于名称或其他细节,但我希望能够一次将它们全部删除。

这是我的基于名称删除文档的功能。

def delete_document(name): 
    x = People.query.filter(People.Name == name).first() 
    x.remove() 

其中People是对模型类的引用。

+0

我不认为人们会感兴趣的课,他们就越有可能会感兴趣的是你如何初始化,并与数据库本身 –

+0

@JackParkinson通信:我明白了。我编辑了这篇文章。 –

回答

0

显然有一个简单的方法,使用查询类的内置方法之一,remove_all。使用remove_all方法,您可以从列表中获取数据库中的所有结果,然后可以在每个实例上调用删除方法。该代码发布如下。不确定是否有更高效的方式来完成此操作,请随时发布。

def deleteAll(): 
    x = People.query.all() 
    for i in range(0, len(x)): 
     x[i].remove() 
相关问题