Can anyone please explain why I am getting error Another user is already authenticated to this database. You must logout first when connecting to MongoDB using Flask MongoEngine?
from mongoengine.connection import get_db
from flask import Flask, jsonify, abort
from flask_cors import CORS
from flask_mongoengine import MongoEngine
from flask_restful import Api
def init_db():
return MongoEngine()
app = Flask(__name__)
CORS(app)
api = Api(app)
app.config.from_object('conf.settings')
db = init_db()
db.init_app(app)
@app.route('/health_check')
def on_health_check():
try:
db = get_db()
db.command('dbstats')
return jsonify(
status=200
)
except Exception as e:
logging.exception('on_health_check() exception -> {}'.format(str(e)))
abort(500, 'Could not connect to database')
app.run(host='0.0.0.0', port=5000, debug=True, threaded=True)
conf/settings.py:
MONGODB_SETTINGS = {
'host': 'mongodb://username:[email protected]:27017,mongo-rep-mongodb-replicaset-1.local:27017/db_name?replicaSet=whatever'
}
When I go to http://localhost:5000/health_check
, it always throws the Exception
with message as I described above.
So I was running into the same issue today, but ended up resolving it by installing a previous version of pymongo, e.g. pip install pymongo==3.4.0 instead of the latest version 3.7.0. There might be a bug...
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