与我的连接字符串连接时,“数据库名称必须为字符串”错误

时间:2018-12-19 17:45:28

标签: javascript node.js mongodb mongoose

我正在尝试通过软件包mongoose连接到MongoDB,但是在MongoError: database name must be a string的行中出现错误。

我正在使用Windows,在脚本中,我还连接到两个其他已连接的API。我曾尝试在需要猫鼬以及连接({.MyDatabaseName至结尾)时添加数据库名称。

Mongoose.connect("mongodb+srv://MyUserName:MyPassword@williamdata7kmxm.mongodb.net", {useNewUrlParser: true}).EternalsMilitary;

Mongoose.connect.once("open", function() {  
    console.log("Connected To MongoDB");
}).on("error", function(err) {
    console.log("Error Connecting To MongoDB: ", err);
});

预计会输出connected,但会出现MongoError: database name must be a string错误。

3 个答案:

答案 0 :(得分:2)

无论出于何种原因,新的网址解析器似乎都不适用于某些网址。

作为一种快速解决方案,您可以尝试使用{ useNewUrlParser: false }

恢复到旧版本

答案 1 :(得分:1)

我需要在URI字符串中包括数据库名称。例如... mongodb+srv://MyUserName:MyPassword@williamdata7kmxm.mongodb.net/MyDatabaseName 然后将其指向该特定数据库。

答案 2 :(得分:0)

在你的 URI 后面,它说 mongodb.net 放斜杠和数据库的名称,例如:

mongoose.connect('mongodb+srv://<username>:<password>@<instance>.mongodb.net/**nameDatabase**', {dbName: "Eclipse"}, {useNewUrlParser: true})