sql >> Databasteknik >  >> NoSQL >> MongoDB

Återanvända databasanslutningar med Azure-funktioner med hjälp av Javascript

Ja, det finns en mycket nära motsvarighet mellan att C#/SQL lagrar en enda SqlConnection-instans i en statisk variabel och JS/MongoDB som lagrar en enda Db-instans i en global variabel. Grundmönstret för JS/MongoDB i Azure Functions är (förutsatt att du är uppdaterad för async/await - alternativt kan du använda återuppringningar enligt din länkade 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 ..
};

Detta innebär att du bara instansierar ett Db-objekt per värdinstans. Observera att detta inte är en per funktionsapp – om du använder en dedikerad appserviceplan kommer det att finnas antalet instanser du har angett i planen, och om du använder en konsumtionsplan kommer det att variera beroende på hur upptagen din app är.




  1. Komma igång med icke-relationella databaser med Mongodb 🍃

  2. Vad kommer att hända om avkoppling appliceras på ett fält som inte finns när man använder aggregering i mangust

  3. Hur läser man igenom samlingen i bitar med 1000?

  4. redis vs hazelcast