açmak, böyle bir kod bakın: MongoDB başka bir veritabanı sistemi gibi isetutulması MongoDB kullanmanın pek çok tanıtıcı örneklerde bir MongoDB veritabanı bağlantısı
var MongoClient = require('mongodb').MongoClient;
MongoClient.connect("mongodb://localhost:port/adatabase", function(err, db)
{
/* Some operation... CRUD, etc. */
db.close();
});
, open
ve close
operasyonlar genellikle pahalı zaman akıllı olan .
Öyleyse, benim sorum şu: 'u bir kez yapmak yeterli mi, geri döndürülmüş db
değerini bazı modüllere global olarak atamak, modülde çeşitli işlevlerle ilgili çeşitli işler yapmak zorunda kalmayın (belgeleri koleksiyonlara ekleyin, güncelleştirin) vb.) diğer uygulama bölümleri tarafından çağrıldıklarında (ve bu nedenle db
değerini yeniden kullanın) ve uygulama tamamlandığında, yalnızca close
'u yapın. Başka bir deyişle, open
ve close
diğer bir deyişle, her seferinde gitmeniz gerekmiyor ve veritabanıyla ilgili işlemleri yapın. Ve ilk open\connect
sırasında döndürülmüş olan db
nesnesini yeniden kullanmaya devam edersiniz, yalnızca veritabanınızla ilgili tüm işleriniz bittiğinde, sonuna kadar close
ile imha edin.
Açıkçası, tüm G/Ç eşiği olmadığından, close
'dan önce, son veritabanı işleminin close
'u göndermeden önce tamamlandığından emin olmalısınız. Bu iyi olmalı gibi görünüyor, ama ben MongoDB için yeni olduğum bir şey eksik olduğumda sadece iki kez kontrol etmek istedim. Teşekkürler!
Ayrıca, burayı kontrol edin (http://stackoverflow.com/questions/14495975/why-its-recommended-not-to-close-any-mongodb-connection-anywhere-in-node-js-code), size yardımcı olabilir –
İlginç .... Evet, yararlı; çok teşekkür ederim! – Lew