sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo hacer que Eve escriba en diferentes bases de datos según varios parámetros de URL y valores de solicitud?

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.