Mettre en cache les ressources volumineuses dans les règles
Dans les règles, vous pouvez mettre en cache les ressources volumineuses en utilisant l’objet global
. L’objet global
persiste après une exécution individuelle, vous pouvez donc réutiliser ce que vous y stockez plutôt que de le créer à chaque fois qu’une règle est exécutée. Toutefois, l’environnement des règles peut être recyclé à tout moment, votre code doit donc toujours vérifier que global
contient ce que vous souhaitez.
Cet exemple montre comment utiliser l’objet global
pour conserver une connexion MongoDB :
//If the db object is there, use it.
if (global.db){
return query(global.db, callback);
}
//If not, get the db (mongodb in this case)
mongo('mongodb://user:pass@mymongoserver.com/my-db', function (db){
global.db = db;
return query(db, callback);
});
//Do the actual work
function query(db, cb){
// Do something with db
...
return cb(null, user, context);
}
Was this helpful?
/
Pour en apprendre davantage sur la façon d’utiliser MongoDB, consultez le Manuel MongoDB.