Con la próxima v0.6, Eve admitirá de forma nativa varias instancias de Mongo.
Puede tener puntos finales de API individuales servidos por diferentes instancias de Mongo:
Y/o puede usar una instancia de Mongo diferente según el usuario que acceda a la base de datos:
Una implementación (muy) ingenua de instancias de usuario, tomada de los docs :
from eve.auth import BasicAuth
class MyBasicAuth(BasicAuth):
def check_auth(self, username, password, allowed_roles, resource, method):
if username == 'user1':
self.set_mongo_prefix('MONGO1')
elif username == 'user2':
self.set_mongo_prefix('MONGO2')
else:
# serve all other users from the default db.
self.set_mongo_prefix(None)
return username is not None and password == 'secret'
app = Eve(auth=MyBasicAuth)
app.run()
También:
Espero que esto cubra sus necesidades. Actualmente se encuentra en el development
branch para que ya puedas experimentar/jugar con él.