【问题标题】:Missing delimiting slash between hosts and options主机和选项之间缺少分隔斜线
【发布时间】:2019-05-12 13:13:54
【问题描述】:

你好(希望我的英语没那么差)!

我实际上正在尝试使用 MongoDB atlas(在线替代方案)启动一个基本数据库,但我无法通过第一步:连接!我总是遇到同样的错误:

抛出错误; ^

错误:主机和选项之间缺少分隔斜线 在 parseConnectionString (C:\Users\Etudiant1\Documents\Cours\ProjetPerso\Bot\node_modules\mongodb\lib\url_parser.js:164:11) 在 parseHandler (C:\Users\Etudiant1\Documents\Cours\ProjetPerso\Bot\node_modules\mongodb\lib\url_parser.js:129:14) 在 module.exports (C:\Users\Etudiant1\Documents\Cours\ProjetPerso\Bot\node_modules\mongodb\lib\url_parser.js:25:12) 已弃用 (internal/util.js:47:15) 在连接时(C:\Users\Etudiant1\Documents\Cours\ProjetPerso\Bot\node_modules\mongodb\lib\operations\mongo_client_ops.js:180:3) 在 connectOp (C:\Users\Etudiant1\Documents\Cours\ProjetPerso\Bot\node_modules\mongodb\lib\operations\mongo_client_ops.js:284:3) 在 executeOperation (C:\Users\Etudiant1\Documents\Cours\ProjetPerso\Bot\node_modules\mongodb\lib\utils.js:420:24) 在 MongoClient.connect (C:\Users\Etudiant1\Documents\Cours\ProjetPerso\Bot\node_modules\mongodb\lib\mongo_client.js:168:10) 在 Function.MongoClient.connect (C:\Users\Etudiant1\Documents\Cours\ProjetPerso\Bot\node_modules\mongodb\lib\mongo_client.js:372:22) 在对象。 (C:\Users\Etudiant1\Documents\Cours\ProjetPerso\Bot\testMongo.js:4:13)

我已经在堆栈溢出中看到了一些类似的错误,但我没有找到解决我的问题的方法。我的代码如下:

var MongoClient = require('mongodb').MongoClient;

var uri = "mongodb://Admin:<PASSWORD>@cluster0-shard-00-00-xm3ps.mongodb.net:27017,cluster0-shard-00-01-xm3ps.mongodb.net:27017,cluster0-shard-00-02-xm3ps.mongodb.net:27017/test?ssl=true&replicaSet=Cluster0-shard-0&authSource=admin&retryWrites=true";
MongoClient.connect(uri, function(err, db) {
 // Paste the following examples here
  if(err){
     throw err;
} else {
     console.log("Connected");
}
db.close();
});

已经谢谢了!

【问题讨论】:

    标签: javascript node.js mongodb


    【解决方案1】:

    嗨,劳拉,欢迎来到 StackOverflow!我在下面包含了代码和解释:

    MongoClient.connect(uri, { useNewUrlParser: true }, function(err, db) {
    
      if (err) {
    
        console.log("error connecting");
    
      } else {
    
        console.log("success connecting");
        //do something like insert,update,etc.
    
        db.close();
    
      }
    
    
    });
    
    1. 您似乎缺少 useNewUrlParser: true
    2. 您将需要在执行操作后使用 db.close() 方法
    3. 出于安全目的,您可能不想明确写出 URL,而是存储为环境变量和引用。

    var uri = process.env.mongoURI 而不是 var uri = mongodb://...

    【讨论】:

    • 非常感谢,这解决了我的链接问题!还要感谢您的安全建议,这总是一个很好的做法!
    猜你喜欢
    • 1970-01-01
    • 2018-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-07
    • 2016-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多