Closed jieguangzhou closed 5 months ago
Suggestion: remove the test_db
in connecting, and then find the database from the client after sucessfully connecting.
Datalayer(
MongoDatabackend(conn=getattr(MongoClient('/'.join(<uri>.split('/')[:-1]), <uri>.split('/')[-1])
)
System Information
Main branch
What happened?
When we connect to a MongoDB, it may fail to connect if we use a URL with the database name due to permission issues.
If we start the database using testenv, it is normal because we have already handled the permissions.
If we change uri to
'/'.join(uri.split('/')[:-1])
, then we can connect normally in the services started by docker below, but cannot connect to the mongodb service created by testenv.Steps to reproduce
Start a mongodb service
docker run --name mongodb -d -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=superduper -e MONGO_INITDB_ROOT_PASSWORD=superduper mongo
Connect database
...
Relevant log output