sql >> Database teknologi >  >> NoSQL >> MongoDB

Genbrug af databaseforbindelser med Azure-funktioner ved hjælp af Javascript

Ja, der er en meget tæt ækvivalens mellem C#/SQL, der gemmer en enkelt SqlConnection-instans i en statisk variabel, og JS/MongoDB, der gemmer en enkelt Db-instans i en global variabel. Det grundlæggende mønster for JS/MongoDB i Azure Functions er (forudsat at du er opdateret til async/wait - alternativt kan du bruge tilbagekald i henhold til din linkede 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 ..
};

Dette vil betyde, at du kun instansierer ét Db-objekt pr. værtsforekomst. Bemærk, at dette ikke er én pr. funktionsapp - hvis du bruger en dedikeret app-serviceplan, vil der være antallet af tilfælde, du har angivet i planen, og hvis du bruger en forbrugsplan, vil det variere afhængigt af hvor travlt din app er.




  1. Ydeevne ulempe ved at bruge slug som primær nøgle/_id i mongo?

  2. Node.js, Socket.io, Redis pub/sub høj lydstyrke, lav latency vanskeligheder

  3. MongoDB $query-operator ignorerer indeks?

  4. Mongoose .find forespørgselsresultatet indeholder forespørgselsmetadata? kan man ikke bare manuelt projicere hver egenskab i samlingen, hvordan får man kun dokumentet?