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

Reutilizando conexões de banco de dados com Azure Functions usando Javascript


Sim, há uma equivalência muito próxima entre C#/SQL armazenando uma única instância SqlConnection em uma variável estática e JS/MongoDB armazenando uma única instância Db em uma variável global. O padrão básico para JS/MongoDB no Azure Functions é (supondo que você esteja atualizado para async/await - como alternativa, você pode usar retornos de chamada conforme seu artigo vinculado):
// getDb.js

let dbInstance;

module.exports = async function() {
    if (!dbInstance) {
        dbInstance = await MongoClient.connect(uri);
    }
    return dbInstance;
};

// function.js

const getDb = require('./getDb.js');

module.exports = async function(context, trigger) {
    let db = await getDb();
    // ... do stuff with db ..
};

Isso significa que você instanciará apenas um objeto Db por instância de host. Observe que isso não é um por aplicativo de funções - se você estiver usando um plano de serviço de aplicativo dedicado, haverá o número de instâncias que você especificou no plano e, se estiver usando um plano de consumo, ele variará dependendo de quão ocupado seu aplicativo está.