[英]mongoose not connecting to localhost
嘗試創建貓鼬連接時似乎出現問題。 我關注的是2014年出版的一本書,因此我的立即反應是檢查貓鼬文檔,但他們同意這本書的格式正確。 以下是我的聯系:
var dbURI = 'mongodb://localhost/Loc8r';
mongoose.connect(dbURI);
添加這些行后,會出現以下錯誤:
Mongoose connection error: mongodb://127.0.0.1/Loc8r
(node:743) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): MongoNetworkError: failed to connect to server [127.0.0.1:27017] on first connect [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017]
(node:743) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
如果刪除連接,則不會有任何錯誤...但是那會破壞嘗試連接到數據庫的目的。 我還嘗試用URI代替localhost
來解決127.0.0.1
,這可以解決一些問題,但是我也沒有運氣。 我通過終端在一個簡單的$nodemon
命令上運行localhost
,沒有別的。
有用的信息:
幫助將不勝感激。
謝謝。
嘗試這種方式
var MongoClient = require('mongodb').MongoClient
, assert = require('assert');
// Connection URL
var url = 'mongodb://localhost:27017/myproject';
// Use connect method to connect to the server
MongoClient.connect(url, function(err, db) {
assert.equal(null, err);
console.log("Connected successfully to server");
db.close();
});
您走的路正確,但是您忘了在其上運行MongoDB的端口,在MongoDB的端口27017
不要忘記啟動MongoDB服務器,如果您在mac
open終端上並輸入mongod
,它將啟動您的MongoDB服務器,然后運行您的代碼,它將正常工作。
var dbURI = 'mongodb://localhost:27017/Loc8r';
mongoose.connect(dbURI);
mongoose.connection.on("connected", () => {
console.log("Connected to database");
});
mongoose.connection.on("error", (err) => {
console.log("Database error:" + err);
});
我為此感到抱歉,因為我自己可以找到解決方案,但是我想這可能有一天會幫助其他人。
故障在於我僅通過Homebrew安裝了MongoDB,而在字面上“安裝”了MongoDB並認為MongoDB被“安裝”后,我就停止了。 我回過頭來看看應該如何正確安裝MongoDB,我注意到我沒有創建目錄/data/db
並為其提供權限,這是重要的一步。
完成此操作后,我在全球范圍內運行mongod
,並在單獨的終端上(位於應用程序的本地位置)運行nodemon
,它運行良好,並在控制台中獲得成功消息。 每次我嘗試連接時,它都在搜索/data/db
,但由於我沒有成功,它顯然找不到。 但是如果尼克希爾(Nhilhil)沒有提到跑mongod
我不會得出這個結論。
總而言之,請確保將來執行所有安裝步驟。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.