亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法使用 Mongoose 連接到 MongoDB

無法使用 Mongoose 連接到 MongoDB

蠱毒傳說 2023-01-06 09:34:31
我正在觀看有關 MERN 堆棧的視頻教程,但由于某些非常奇怪的原因,我無法連接到 MongoDB。這個問題讓我很沮喪,因為我可能只是遺漏了一些非?;镜臇|西,所以如果答案對你來說很明顯,請原諒我。該視頻使用 mlab for MongoDB,它不再可用,所以我改用 MongoDB Atlas。我應該用來將我的應用程序連接到數據庫的密鑰是:mongodb+srv://<username>:<password>@fs-shopping-list.6rzkd.mongodb.net/<dbname>?retryWrites=true&w=majority我的密碼沒有任何特殊字符,我的IP地址在白名單中。至于dbname,我有一個名為“data”的數據庫和一個名為“items”的集合,所以我使用“data”作為dbname.導致我的問題的相關代碼在一個名為的文件中server.js:const db = require('./config/keys').mongoURI; // I keep my key in a separate file in the way shown in the video// Connect to MongoDBmongoose    .connect(db, { useNewUrlParser: true, useUnifiedTopology: true })    .then(() => console.log('MongoDB connected.'))    .catch(err => console.log(err));當我嘗試運行服務器時,我不斷收到此錯誤(我從一些路徑中刪除了我的名字):{ MongooseServerSelectionError: bad auth Authentication failed.    at NativeConnection.Connection.openUri (/fs_shopping_list/node_modules/mongoose/lib/connection.js:828:32)    at Mongoose.connect (/fs_shopping_list/node_modules/mongoose/lib/index.js:335:15)    at Object.<anonymous> (/fs_shopping_list/server.js:15:6)    at Module._compile (internal/modules/cjs/loader.js:689:30)    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)    at Module.load (internal/modules/cjs/loader.js:599:32)    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)    at Function.Module._load (internal/modules/cjs/loader.js:530:3)    at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)    at startup (internal/bootstrap/node.js:283:19)    at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)  message: 'bad auth Authentication failed.',  reason:   TopologyDescription {     type: 'ReplicaSetNoPrimary',     setName: null,     maxSetVersion: null,     maxElectionId: null,     servers:有人可以幫我找出我做錯了什么,以便我可以繼續教程嗎?感謝您的時間。
查看完整描述

2 回答

?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

這是我如何使用的示例mongoose:


const connectToMongo = async () => {

  try {

    await mongoose.connect(mongoUrl, { useNewUrlParser: true });

    console.log('connected to MongoDB');

  } catch(error) {

    console.log('error connection to MongoDB:', error.message);

  }

};

這是一個例子mongoUrlmongo+srv://username:[email protected]/collectionname?retryWrites=true

確保您創建一個用戶來讀取和寫入不是管理員帳戶的數據庫。您從“連接”按鈕獲得的 URI 字符串可能使用管理員帳戶,即使這不是您想要在 URI 字符串中使用的帳戶,因此請記住這一點。如果您這樣做了但仍然無法連接,請使用此清單:

http://img1.sycdn.imooc.com//63b77acf0001cd6b18190422.jpg

http://img1.sycdn.imooc.com//63b77ad70001c1a418370456.jpg

http://img1.sycdn.imooc.com//63b77ade0001829306720536.jpg

查看完整回答
反對 回復 2023-01-06
?
小怪獸愛吃肉

TA貢獻1852條經驗 獲得超1個贊

嘗試添加dbName選項:

await mongoose.connect('mongodb://root:example@mongo:27017', { dbName: "blog" });


查看完整回答
反對 回復 2023-01-06
  • 2 回答
  • 0 關注
  • 255 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號