Sürekli çalışacağı anlamına gelen bir komut dosyasında mongoose kullanıyorum ve çok basit bir sorunun nasıl göründüğüne bakıyorum ama bir cevap bulamıyorum; sadece bir kez koymak mongodb istekleri gönderir herhangi bir firavun işlevine bir çağrı yapmaz benim nodejs örneğim asla durmaz ve ben, Ctrl + c veya Program.exit() ile elle öldürmek zorunda.Bir kez bittiğinde mongoose bağlantısını yakından kapat
kod şöyle kabaca görünür:
var mongoose = require('mongoose');
// if my program ends after this line, it shuts down as expected, my guess is that the connection is not really done here but only on the first real request ?
mongoose.connect('mongodb://localhost:27017/somedb');
// define some models
// if I include this line for example, node never stop afterwards
var MyModel = mongoose.model('MyModel', MySchema);
I() mongoose.disconnect çağrıları ekleyerek çalıştı ama hiçbir sonuçlanması. Bunun dışında her şey iyi çalışıyor (bulma, kaydetme, ...).
Bu, bu kişinin tamamen aynı konudur, ne yazık ki o herhangi bir cevap almadım: https://groups.google.com/group/mongoose-orm/browse_thread/thread/c72cc1c51c76e661
Teşekkür
DÜZENLEME: Hiç kimse bu çarptı eğer teknik olarak doğru aşağıda cevabını kabul etmesine karşın Yine sorun, görünüyor ki, hala çalışan sorguların olup olmadığını sorduğunuzda mongoose ve/veya mongodb sürücüsünün bağlantıyı gerçekten kapatmıyor.
Bağlantı kesme çağrısını hiç hatırlamıyor bile, sorguları bittiğinde bir kez yapmaz; sadece çağrıya atılan istisna ya da sıralamadaki herhangi bir şey olmadan çağrıyı atar ve asla bağlantıyı kesin olarak kapatmaz.
İşte size göre: her sorgunun, gerçekten çalışmasını istiyorsanız, bağlantıyı kesmeden önce işlendiğinden emin olun().
Sadece bir modeli içe aktarmanın bir yolu var mı? Aşağıdaki cevaplardan hiçbiri işe yaramaz: \ – Antoine