6 回答

TA貢獻1829條經驗 獲得超4個贊
你的API調用似乎有問題,應該是disneyCharacters
而不是disneyCharacter
.
另外,可能首先設置本地數據庫而不是使用process.env.DATABASE_URL
.

TA貢獻1796條經驗 獲得超10個贊
實際上我也遇到了同樣的錯誤。我為解決此錯誤而執行的步驟是
在 mongodb 中創建數據庫時
允許從任何地方訪問(ip 配置)
選擇最近的服務器
這解決了我的問題:)

TA貢獻1853條經驗 獲得超6個贊
我遇到了同樣的錯誤。我使用的是 mongoDB Atlas 而不是本地的。對我有用的是刪除方法中的選項.connect(我使用 mongoose 連接到 mongodb)。
以前的代碼(導致錯誤的)
mongoose.connect(
"" + process.env.DB_URL,
{ useUnifiedTopology: true, useNewUrlParser: true, useFindAndModify: false },
() => { console.log("Connected to DB"); }
)
只需刪除該方法中 { } 內的代碼即可。
mongoose.connect(
"" + process.env.DB_URL,
{ },
() => { console.log("Connected to DB"); }
)

TA貢獻1874條經驗 獲得超12個贊
在我的應用程序中拋出了相同的錯誤消息。不同之處在于,我使用的是 MongoDB Atlas,而不是本地 MongoDB。
解決方案:將“+srv”添加到 URL 方案后,問題消失了:
const mongoose = require("mongoose");
mongoose.set('useUnifiedTopology', true);
mongoose.set('useNewUrlParser', true);
mongoose.connect("mongodb+srv://user:password@host/dbname")
.then( () => console.log("connected to DB."))
.catch( err => console.log(err));
package.json 中的依賴項:
"dependencies": {
"mongoose": "^5.11.12",
}
MongoDB 版本 4.2.11
連接字符串在 MongoDB Atlas 前端給出: -> 數據存儲 -> 集群 -> 連接 -> 連接你的應用程序
在那里您可以找到一些代碼片段。

TA貢獻2003條經驗 獲得超2個贊
刪除這兩個:
useCreateIndex: true,
useFindModify: false,
并把這個:
useNewUrlParser: true,
useUnifiedTopology: true
最后的例子:
mongoose.connect(process.env.MONGODB_URL, {
useNewUrlParser: true,
useUnifiedTopology: true
}, err => {
if(err) throw err;
console.log('Connected to mongodb')
})

TA貢獻1815條經驗 獲得超6個贊
在我的代碼中,僅刪除了參數 ssl,我正在 digitalOcean 中使用數據庫,我的代碼是:
mongoose.Promise=global.Promise;
mongoose.connect(process.env.MONGO_URI,{
useNewUrlParser: true,
useUnifiedTopology: true,
ssl: true,
// tlsCAFile: mongoCertPath, ----> you should remove this line
socketTimeoutMS:43200000,
}).then(
()=>{ console.log('conected to digitalOcean mongoDB: db_CRM'); },
err=>{console.log('erro to connect digitalOcean mongoDB:'+err);}
);
添加回答
舉報