コレクションが存在し、空の場合(コレクションからすべてを削除する)PyMongoをチェックインする方法は?私は
collection.remove()
または
collection.remove({})
ただし、コレクションは削除されません。どうやってするか ?
説明としてコメント付きのPymongoのサンプルコード:
from pymongo import MongoClient
connection = MongoClient('localhost', 27017) #Connect to mongodb
print(connection.database_names()) #Return a list of db, equal to: > show dbs
db = connection['testdb1'] #equal to: > use testdb1
print(db.collection_names()) #Return a list of collections in 'testdb1'
print("posts" in db.list_collection_names()) #Check if collection "posts"
# exists in db (testdb1)
collection = db['posts']
print(collection.count() == 0) #Check if collection named 'posts' is empty
collection.drop() #Delete(drop) collection named 'posts' from db
.drop()
の代わりに.remove()
を使用する必要があります。詳細についてはドキュメントを参照してください: http://api.mongodb.org/python/current/api/pymongo/collection.html #pymongo.collection.Collection.drop
=====
ご質問を誤解して申し訳ありません。
コレクションが存在するかどうかを確認するには、データベースでcollection_names
メソッドを使用します。
>>> collection_name in database.collection_names()
コレクションが空かどうかを確認するには、次を使用します。
>>> collection.count() == 0
どちらも結果としてTrueまたはFalseを返します。
これを試しましたか:
db.collection.remove();