幾個解決方案:
限制訪問你的數據庫只有所需的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"