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);}
);
添加回答
举报