如何使用MongoAlchemy

时间:2017-08-03 08:25:34

标签: python flask mongoalchemy

如标题所示,我想删除数据库的所有内容。我正在使用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是模型类的引用。

1 个答案:

答案 0 :(得分:1)

显然有一种简单的方法,使用Query类中的一种内置方法 remove_all 。使用 remove_all 方法,您可以在列表中获取数据库中的所有结果,之后您可以在每个实例上调用删除方法。代码发布在下面。不确定是否有更有效的方法,所以请随意发布。

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