это мой код для подключения к БД в mongodb, эта переменная базы данных получает файл свойств dbname для файла сейчас, когда я использую client.database, он не сможет подключиться к этой базе данных, но если я использую client.dbname (dbname является скрытым значением имени БД, затем оно подключается.
Я предполагаю, что p правильно читает имя базы данных, но когда оно присваивается переменной databse, оно преобразует его в строку и поэтому client.database не работает.
пожалуйста, посмотрите и предложите мне, как я могу динамически подключиться к БД с помощью переменной базы данных?
class mongo_connection:
def connectionobj(self):
p = Properties()
p.load(open(os.environ['MY_DATABASE']))
database = p['spring.data.mongodb.database']
username = p['spring.data.mongodb.username']
password = p['spring.data.mongodb.password']
hostname = p['spring.data.mongodb.host']
port = p['spring.data.mongodb.port']
url = 'mongodb://'+username+':'+password+'@'+hostname+':'+port
#logger.info("URL for mongo connect :" + url);
client = MongoClient(url)
dbname = client.**database**
#logger.info("database name :" + url);
id = "user"
for i in dbname.Login.find({"username":id}):
print(i['username'])
return "SUCESS"
m = mongo_connection ()
m.connectionobj ()