2017-08-03 7 views
1

タイトルが示唆するように、私はデータベースのすべての内容を削除したいと思います。私はデータベースのためにFlaskとMongoAlchemyを使ってPythonでアプリケーションを作っています。私はクラスを持っています人々はドキュメントをモデル化します。構造は次のとおりです。MongoAlchemyを使用してデータベースのすべての内容を削除する方法

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

で、私は名前やその他の詳細に基づいて、一度に1つの文書のみを削除することができますが、私は一度にすべてを削除できるようにしたいメソッドを削除します。

これは私の名前に基づいて文書を削除する機能です。

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

ここで、peopleはモデルクラスへの参照です。

+0

私は、人々は、彼らはあなたが初期化し、DB自体 –

+0

@JackParkinsonとの通信方法に興味があるだろう可能性が高いあなたのクラスに興味があるとは思いません。私はその記事を編集した。 –

答えて

0

明らかに、Queryクラスの組み込みメソッドの1つ、remove_allを使用すると、簡単な方法があります。 remove_allメソッドを使用すると、リスト内のデータベースからすべての結果を取得できます。その後、をすべてのインスタンスでメソッドを呼び出すことができます。コードは以下に掲載されています。これを行うより効率的な方法があるかどうかわからないので、投稿してください。私は以下を参照してください

def deleteAll(): 
    x = People.query.all() 
    for i in range(0, len(x)): 
     x[i].remove() 
関連する問題