Я просто изучаю собственный драйвер mongodb для nodejs.
Я подключаюсь так.
var mongo=require("mongodb")
var serv=mongo.Server("localhost", 27017)
var dbase=mongo.Db("MyDatabase", serv)
И это работает. Но если я попытаюсь создать новое соединение с базой данных с использованием одного и того же сервера, я получаю сообщение об ошибке.
var dbase2=mongo.Db("MyDatabase2", serv)
"Ошибка: экземпляр сервера или ReplSet не может использоваться совместно несколькими экземплярами Db"
Но он работает, если сначала создать новое подключение к серверу.
var serv2=mongo.Server("localhost", 27017)
var dbase2=mongo.Db("MyDatabase2", serv2)
Итак, мой вопрос в том, почему есть две функции соединения: одна для Сервера и одна для Db, когда кажется, что они всегда должны использоваться вместе?
Почему это не так.
var dbase=mongo.Db("localhost", 27017, "MyDatabase")
Я хочу сделать свою собственную функцию, которая делает это, но мне интересно, есть ли другая причина, по которой они являются отдельными.
Спасибо.