在使用MongoDB驱动程序的应用程序(针对Node.js)中,我列出了3个数据库:db-01
,db-02
和db-03
。
我向副本集添加了一个新数据库:db-04
。
无意中,db-04
数据库被选为新的主数据库。
应用程序是否仍然能够进行写入,或者我是否应该在应用程序的MongoDB驱动程序配置的主机列表中列出db-04
?
答案 0 :(得分:2)
我认为“数据库”的意思是“成员”或“节点”。每个副本成员不能拥有不是副本集的数据库。我会假设你是指成员。
如果列表中有可用成员,那么MongoDB驱动程序将使用副本集的任何成员来理解整个集合。因此,即使您未在代码中明确连接到主数据库,它仍将通过在您连接到的节点上调用isMaster
来寻找集合的主数据库。然后它将在应用程序中使用它。