如标题所示,我想删除数据库的所有内容。我正在使用Flask和MongoAlchemy为Python创建一个应用程序。我有一个人类来为文档建模。结构是:
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 :(得分:1)
显然有一种简单的方法,使用Query类中的一种内置方法 remove_all 。使用 remove_all 方法,您可以在列表中获取数据库中的所有结果,之后您可以在每个实例上调用删除方法。代码发布在下面。不确定是否有更有效的方法,所以请随意发布。
def deleteAll():
x = People.query.all()
for i in range(0, len(x)):
x[i].remove()