几个解决方案:
限制访问你的数据库只有所需的IP地址。如果您的应用程序和数据库位于同一台计算机上,那么只有127.0.0.1 +也许是您的PC,因此您可以在GUI中运行查询。
强制认证,如this link所示,使用强密码。 为了让密码在你的Node程序中保持“秘密”,我把它理解为“非硬编码”,把它变成一个env变量,并在运行时将它提供给节点,或者将它写入一个不存在于你的repo中的文件.gitignore也可以)。
有了一个有效的用户名/密码,这里是如何进行身份验证使用节点到MongoDB的:
一个MongoDB的地址有7个部分组成:
protocol:"mongodb://",
host:"localhost",
user: "user",
password : "password",
options: "?authMechanism=MONGODB-CR",
port:"27017",
db:"db_name"
所有一起给一个字符串,如:
mongodb://user:[email protected]:27017/db_name?authMechanism=MONGODB-CR
,
这应该足够了节点使用本地Mongo驱动程序进行连接。
而在壳来验证:
使用DB_NAME
db.auth( “用户”, “密码”)
,或者直接在连接:
mongo -u "user" -p "password" --authenticationDatabase "db_name"