MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment faire en sorte qu'Eve écrive dans différentes bases de données en fonction de divers paramètres d'URL et de valeurs de requête ?

Avec la prochaine v0.6, Eve prendra en charge nativement plusieurs instances de Mongo.

Vous pouvez avoir des points de terminaison d'API individuels servis par différentes instances de Mongo :

Et/ou vous pouvez utiliser une instance Mongo différente selon l'utilisateur qui accède à la base de données :

Une implémentation (très) naïve d'instances utilisateur, tirée de la 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()

Aussi :

J'espère que cela couvrira vos besoins. Il est actuellement en development branch afin que vous puissiez déjà expérimenter/jouer avec.