Ya, ada kesetaraan yang sangat dekat antara C#/SQL yang menyimpan satu instance SqlConnection dalam variabel statis dan JS/MongoDB menyimpan satu instance Db dalam variabel global. Pola dasar untuk JS/MongoDB di Azure Functions adalah (dengan asumsi Anda mutakhir untuk async/menunggu - atau Anda dapat menggunakan panggilan balik sesuai artikel tertaut Anda):
// 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 ..
};
Ini berarti Anda hanya membuat instance satu objek Db per instance host. Perhatikan ini bukan satu per Aplikasi Fungsi - jika Anda menggunakan Paket Layanan Aplikasi khusus maka akan ada jumlah kejadian yang telah Anda tentukan dalam paket, dan jika Anda menggunakan Paket Konsumsi maka itu akan bervariasi tergantung pada seberapa sibuk aplikasi Anda.