I need to write a DB connection function as ,
def func(col_name):
conn = pymongo.MongoClient("localhost" , 27017)
db = conn.dbname.col_name
return db
collection name should be passed as a parameter to the function. Above function is not working. it is working if I hard-coded the collection name in the code. Please help.
You can use getattr
to get attribute of an object by attribute name:
getattr(conn.dbname, col_name)
def func(col_name):
conn = pymongo.MongoClient("localhost" , 27017)
return conn.dbname[col_name]
You can do the same from the client if you want to pass in the database name:
def func(db_name, col_name):
conn = pymongo.MongoClient("localhost" , 27017)
return conn[db_name][col_name]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With