如果您没有进行身份验证,为什么要在mongodb连接字符串中指定数据库?

时间:2015-06-30 21:48:03

标签: node.js mongodb

要连接到MongoDB,您需要使用http://mongodb.github.io/node-mongodb-native/2.0/api/MongoClient.html#.connect

我的问题是关于在connection string中指定数据库。它说:

  

可选。如果连接字符串包含username:password @形式的身份验证凭据,则要验证的数据库的名称。如果未指定/ database且连接字符串包含凭据,则驱动程序将对admin数据库进行身份验证。

在我看来,如果您拥有database,那么只有username:password@才有用。但是,我已经看到了在没有database的情况下指定username:password@的示例。节点驱动程序example itself使用字符串mongodb://localhost:27017/myproject

为什么您希望database没有username:password@

1 个答案:

答案 0 :(得分:1)

您将要执行的所有操作都将在您选择的数据库中完成。

如果您避开/ database组件,则需要在代码中强制它(尝试避免使用硬编码元素),否则您将在默认数据库中工作(不是一个好主意)