3

正如标题所示,我想删除数据库的所有内容。我正在使用 Flask 和 MongoAlchemy 为数据库制作 Python 应用程序。我有对文档进行建模的People类。结构是:

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

使用remove方法,我可以根据名称或其他详细信息一次只删除一个文档,但我希望能够一次将它们全部删除。

这是我根据名称删除文档的功能。

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

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

4

1 回答 1

1

显然有一种简单的方法,使用 Query 类中的一种内置方法remove_all。使用remove_all方法,您可以从列表中的数据库中获取所有结果,然后您可以在每个实例上调用remove方法。代码贴在下面。不确定是否有更有效的方法来执行此操作,因此请随时发布。

def deleteAll():
    x = People.query.all()
    for i in range(0, len(x)):
        x[i].remove()
于 2017-08-03T09:24:29.870 回答