sql >> Database >  >> NoSQL >> MongoDB

Databaseverbindingen opnieuw gebruiken met Azure Functions met Javascript

Ja, er is een zeer nauwe gelijkwaardigheid tussen C#/SQL die een enkele SqlConnection-instantie opslaat in een statische variabele en JS/MongoDB die een enkele Db-instantie opslaat in een globale variabele. Het basispatroon voor JS/MongoDB in Azure Functions is (ervan uitgaande dat u up-to-date bent voor async/wait - u kunt ook callbacks gebruiken volgens uw gekoppelde artikel):

// 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 ..
};

Dit betekent dat u slechts één Db-object per hostinstantie kunt instantiëren. Let op:dit is niet één per functie-app - als u een speciaal app-serviceplan gebruikt, is er het aantal instanties dat u in het plan hebt opgegeven, en als u een verbruiksplan gebruikt, zal dit variëren afhankelijk van hoe druk je app is.




  1. Hoe wijzig je de gebruikersrechten van MongoDB?

  2. Transacties en wachtverklaring in Redis

  3. Mongo-query Distinct met Sum werkt niet

  4. Leg het geaggregeerde raamwerk uit