MongoDB 服務起來了,終端可以使用 shell 可以查詢,但是 Node 始終連結(jié)不上?

MongoDB 服務起來了,終端可以使用 shell 可以查詢,但是 Node 始終連結(jié)不上?

Node代碼如下


const mongoose = require('mongoose');
const db = mongoose.connect('mongodb://localhost:27017/test');
db.Promise = global.Promise;

db.connection.on('error', function(error) {
    console.log('___db:error');
    console.log(error);
});

db.connection.on('open', function() {
    console.log('___db:open');
});

打印的錯誤堆棧信息


___db:error
{ MongoError: failed to connect to server [localhost:27017] on first connect [MongoError: getaddrinfo ENOTFOUND localhost localhost:27017]
    at Pool.eventHandler (/Users/liangyabin/Desktop/寫一些小demo/node_modules/mongodb-core/lib/topologies/server.js:328:35)
    at emitOne (events.js:96:13)
    at Pool.emit (events.js:191:7)
    at Connection.<anonymous> (/Users/liangyabin/Desktop/寫一些小demo/node_modules/mongodb-core/lib/connection/pool.js:274:12)
    at Object.onceWrapper (events.js:293:19)
    at emitTwo (events.js:106:13)
    at Connection.emit (events.js:194:7)
    at Socket.errorHandler (/Users/liangyabin/Desktop/寫一些小demo/node_modules/mongodb-core/lib/connection/connection.js:177:49)
    at Object.onceWrapper (events.js:293:19)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:191:7)
    at connectErrorNT (net.js:1034:8)
    

瀏覽器訪問:http://localhost:27017

顯示:It looks like you are trying to access MongoDB over HTTP on the native driver port.

哪里出問題了?

說出來大家可能不信

const db = mongoose.connect('mongodb://localhost:27017/test');
改成
const db = mongoose.connect('mongodb://127.0.0.1:27017/test');
這樣就不會報錯了,我的天啊

最后確定是 hosts 文件的問題

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容