MongoJS, Node'da yerel Mongo sürücüsü için bir sarıcı olarak kullanılmaya çalışıyorum. Koleksiyonumdaki belgeleri, populate()
, save()
, vb gibi yöntemlerle JavaScript sınıfları olarak modelleme yapıyorum.MongoJS ile Mongo'ya bağlantıları yönetmenin doğru yolu nedir?
C# ve Java gibi birçok dilde, her sorgu için açıkça bağlanır ve sonra bağlantı kesilir. Çoğu örnek sadece bağlantıya bir örnek verir, ancak yapıldığında bağlantıyı asla kapatmaz. Şoförün bunu kendi başına yönetebiliyor mu yoksa kendim elle yapmam gerekip gerekmediğine emin değilim. Belgeler seyrek.
User.prototype.populate = function(callback) {
var that = this;
this.db = mongo.connect("DuxDB");
this.db.collection(dbName).findOne({email : that.email}, function(err, doc){
if(!err && doc) {
that.firstName = doc.firstName;
that.lastName = doc.lastName;
that.password = doc.password;
}
if (typeof(callback) === "function"){
callback.call(that);
}
that.db.close();
});
};
Ben en kısa MongoJS nesne üzerinde close()
yöntemini çağırın, ben artık müteakip çağrılarda yeni bir bağlantı açabilirsiniz buluyorum:
İlgili kod İşte. Ancak, bu yöntemi çağırmazsam, Düğüm işlemi, tüm çağrışma çağrıları tamamlandıktan sonra, Mongo'yu kesmeyi bekliyormuş gibi, hiçbir zaman sona ermez.
MongoJS ile Mongo'ya bağlantıları yönetmenin doğru yolu nedir?
Anlam ifade eder. Nesneye artık ihtiyacım olmadığında bağlantıyı kapatmak için uygun bir zaman var mı (bir çeşit yıkıcı)? Veya JavaScript çöpü MongoJS nesnesine referans topladığında bu sürücü tarafından dikkate alınır? Çağrılar(), tüm çağrılar bittiğinde Düğüm işleminin konsolda sonlandırılmasına asla izin vermez. – DuxPrime