我想知道mongodb中是否存在特定名称的集合。我怎样才能在python中实现这一目标。在搜索相同内容时,我知道如何从mongodb shell中做到这一点,但在python中做同样的事情没什么用。
请有人帮忙。
答案 0 :(得分:1)
您可以使用该方法从@Alex 给出的 comment 中检索和检查您的集合是否存在,如下所示:
方法一:
import pymongo
connection = pymongo.MongoClient('localhost', 27017) # Connect to mongodb
db = connection['test_db']
list_of_collections = db.list_collection_names() # Return a list of collections in 'test_db'
print("posts" in db.list_collection_names()) # Check if collection "posts" exists in db (test_db)
或者,您可以使用 validate_collection()
(documentation) 验证集合。如果集合不存在,则会返回错误 (pymongo.errors.OperationFailure
)。您还可以捕获该异常并执行您想要的任何操作。
方法二:
import pymongo
connection = pymongo.MongoClient('localhost', 27017) # Connect to mongodb
db = connection['test_db']
try:
db.validate_collection("random_collection_name") # Try to validate a collection
except pymongo.errors.OperationFailure: # If the collection doesn't exist
print("This collection doesn't exist")