这是我的代码,用于连接到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()
用途: