javascript - U izvornom NodeJS driveru za MongoDB, kada koristiti konstruktor MongoClient, a kada konstruktor Db?
Konstruktorii MongoClient i Db opisani su u priručniku. Kada biste trebali koristiti jedan, a kada drugi?
Odgovor #1
MongoClient bi se normalno trebao preferirati, jedini glavni problem je što je noviji (1.2+).
Navedimo priručnik:
MongoClient ili kako se povezati na novi i bolji način
Od verzije upravljačkog programa 1.2 uvodimo novu klasu veze koja ima isto ime u svim našim službenim upravljačkim programima. Ovo je kako bismo osigurali da predstavi prepoznatljivo sučelje za sve naše API-je. To ne znači da će vaša postojeća aplikacija prestati raditi, već da vas potičemo da koristite novi API za povezivanje kako biste pojednostavili razvoj svoje aplikacije.
Nadalje, stvaramo novu klasu veze MongoClient koja priznaje sve zapise u MongoDB, za razliku od postojeće klase veze Db koja ima onemogućena priznanja.
Dvije najveće promjene su dakle činjenica da MongoClient potvrđuje sve upise u bazu podataka i kada se zapravo odabire baza podataka pri povezivanju.
S MongoClientom:
var MongoClient = require('mongodb').MongoClient
, Server = require('mongodb').Server;
var mongoClient = new MongoClient(new Server('localhost', 27017));
mongoClient.open(function(err, mongoClient) {
var db1 = mongoClient.db("mydb"); // The DB is set here
mongoClient.close();
});
vs s Db:
// db is selected in the next line, unlike with MongoClient and most drivers to other databases
var db = new Db('test', new Server('locahost', 27017));
// Establish connection to db
db.open(function(err, db) {
assert.equal(null, err);
db.on('close', test.done.bind(test));
db.close();
});
