Używam sterownika mongodb i mnicha na nodejs. Przykłady takie jak this że widzę w sieci mają następujący wzór:MongoDB sterownik node.js i mnich
var mongo = require('mongodb');
var monk = require('monk');
var db = monk('localhost:27017/userdb');
var collection = db.get('users');
collection.find({}, function(err, docs) {
// do something with docs
});
dwa pytania:
- Dlaczego pierwsza linia potrzebne: var Mongo = require ('MongoDB')? Zmienna mongo nigdy nie jest używana. Czy mnich automatycznie nie wymagałby mongody?
- Widzę na poziomie kierowcy, db musi być otwarty i zamknięty. Te metody nie wydają się istnieć na poziomie mnicha. Czy mnich automatycznie otwiera i zamyka połączenia? Jak to działa?
W gruncie rzeczy zastanawiam się, jaką przewagę ma mnich nad używaniem sterownika bezpośrednio. Przeczytałem listę funkcji w monk docs, ale tak naprawdę nie rozumiem korzyści.
Z góry dziękuję za pomoc.
dziękuję za podzielenie się wrażeniami. – Naresh
Odnośnie # 1 - wymagając mongodb osobno, masz kontrolę nad wersją mongodb. Możliwe, że używasz lokalnej lub globalnej wersji mongodb, możesz używać starszej wersji lub nawet nowszej wersji beta. Jeśli mnich wymagałby mongo na własną rękę, nie miałbyś kontroli nad używaną instalacją lub wersją. –
Wygląda na to, że nie powinieneś przejmować się zamykaniem połączenia. http://stackoverflow.com/questions/14495975/why-is-it-recommended-not-to-close-a-mongodb-connection-anywhere-in-node-js-code – reergymerej