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.