Ако вече сте се свързали с базата данни, once
събитието няма да се активира отново. Базата данни вече е била свързана за целия процес NodeJs, когато е била глобално свързана (извън функцията).
Извикването на mongoose.connect('mongodb://localhost/test');
прави връзката и я отваря.
Така че, вместо да го отваряте при всяко извикване на функция (което би било неефективен начин за взаимодействие с MongoDB), connect
веднага, когато се стартира приложението NodeJs, и имайте предвид, че ще има период, в който връзката може да не е налична (тъй като е асинхронна), или не стартирайте приложението (listen
), докато връзката приключи (или с изчакване). С Mongoose, докато се установи връзката, всички команди се буферират (но това може да не е поведението, което искате). Можете да използвате open
събитие, ако искате да знаете кога връзката е завършена.
Връзката се намира тук:mongoose.connection
ако използвате connect
функция за създаване на връзка.
След като връзката бъде отворена, можете да я използвате от вашия popSingleData
функция без използване на once
събитие и обратно повикване. Има автоматично поддържан набор от връзки.
За повече информация относно връзките прочетете тук .