我正在尝试通过软件包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
错误。
答案 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})