【问题标题】:How to remove all contents of database using MongoAlchemy如何使用 MongoAlchemy 删除数据库的所有内容
【发布时间】:2017-08-03 08:25:33
【问题描述】:

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

【问题讨论】:

  • 我认为人们不会对您的课程感兴趣,他们更有可能对您如何初始化和与数据库本身进行通信感兴趣
  • @JackParkinson:我明白了。我编辑了帖子。

标签: python flask mongoalchemy


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2019-12-15
    • 2011-03-22
    • 2011-02-01
    • 2012-11-01
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 2014-12-23
    • 2013-08-26
    相关资源
    最近更新 更多