当选择未在应用程序主机列表中列出的新主节点时,MongoDB是否仍允许写入?

时间:2015-07-28 07:14:33

标签: mongodb

在使用MongoDB驱动程序的应用程序(针对Node.js)中,我列出了3个数据库:db-01db-02db-03

我向副本集添加了一个新数据库:db-04

无意中,db-04数据库被选为新的主数据库。

应用程序是否仍然能够进行写入,或者我是否应该在应用程序的MongoDB驱动程序配置的主机列表中列出db-04

1 个答案:

答案 0 :(得分:2)

我认为“数据库”的意思是“成员”或“节点”。每个副本成员不能拥有不是副本集的数据库。我会假设你是指成员。

如果列表中有可用成员,那么MongoDB驱动程序将使用副本集的任何成员来理解整个集合。因此,即使您未在代码中明确连接到主数据库,它仍将通过在您连接到的节点上调用isMaster来寻找集合的主数据库。然后它将在应用程序中使用它。