MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como ter que escrever em diferentes bancos de dados com base em vários parâmetros de URL e valores de solicitação?


Com a próxima v0.6, o Eve oferecerá suporte nativo a várias instâncias do Mongo.

Você pode ter endpoints de API individuais servidos por diferentes instâncias do Mongo:

E/ou você pode usar uma instância diferente do Mongo dependendo do usuário que acessa o banco de dados:

Uma implementação (muito) ingênua de instâncias de usuário, extraída dos documentos :
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()

Também:

Espero que isso irá cobrir suas necessidades. Está atualmente em development branch para que você já possa experimentar/brincar com ele.