2017-08-03 78 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() 
相關問題