sql >> Databáze >  >> NoSQL >> MongoDB

Jak přimět Evu, aby zapisovala do různých databází na základě různých parametrů URL a hodnot požadavků?

S nadcházející verzí 0.6 bude Eve nativně podporovat více instancí Mongo.

Jednotlivé koncové body API můžete obsluhovat různými instancemi Mongo:

A/nebo můžete použít jinou instanci Mongo v závislosti na uživateli, který zasáhne databázi:

(Velmi) naivní implementace uživatelských instancí převzatá z dokumentů :

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()

Také:

Doufám, že to pokryje vaše potřeby. Momentálně je ve development větev, takže už s ní můžete experimentovat/hrát si.



  1. Dotaz na podobné pole v MongoDB

  2. Zesměšňovat databázi v node.js?

  3. Seskupení podle konkrétního prvku pole s rámcem agregace mongo

  4. Jak používat operaci $cond v agregačním rámci Spring-MongoDb