簡體   English   中英

貓鼬沒有連接到本地主機

[英]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 ,沒有別的。

有用的信息:

  • MongoDB v3.6.3
  • 貓鼬v5.0.10
  • 快遞v4.15.5
  • 節點v8.9.4

幫助將不勝感激。

謝謝。

嘗試這種方式

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM