如何从属性文件读取数据库名称?

问题描述 投票:0回答:1

这是我的代码,用于连接到mongodb中的db,此数据库变量现在从属性文件获取dbname,而我正在使用client.database,它无法连接至该db,但是如果我使用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()

python mongodb database-connection pymongo properties-file
1个回答
0
投票

用途:

© www.soinside.com 2019 - 2024. All rights reserved.