mongoDB:得到错误“ HostNotFound:找不到地址”和“ internal / modules / cjs / loader.js:968 throw err”

时间:2020-09-15 10:28:56

标签: node.js mongodb nodemon

以下消息出现在我的vscode终端上(下面的代码!)

MongoDB Shell版本v4.0.10 连接到:mongodb://DB%5Cmongo%5Cnode_modules%5C.bin%5C:27017 / test?gssapiServiceName = mongodb 2020-09-15T18:51:58.260 + 0800 E查询[js]错误:无法连接到服务器DB \ mongo \ node_modules.bin:27017,连接尝试失败:HostNotFound:无法找到DB \ mongo \ node_modules的地址.bin:27017:SocketException:没有此类主机。 : connect@src/mongo/shell/mongo.js:344:17 @(连接):2:6 异常:连接失败 内部/模块/ cjs / loader.js:968 抛出错误;

错误:找不到模块'C:\ Users \ Lim Family \ Desktop \ node \ lecture \ nodemon \ bin \ nodemon.js' 在Function.Module._resolveFilename(内部/模块/cjs/loader.js:965:15) 在Function.Module._load(内部/模块/cjs/loader.js:841:27) 在Function.executeUserEntryPoint [作为runMain](内部/模块/run_main.js:71:12) 在internal / main / run_main_module.js:17:47 { 代码:“ MODULE_NOT_FOUND”, requireStack:[] }

运行npm start时,它运行package.json中定义的“ nodemon app.js”。 我已将IP地址白名单设置为所有IP地址。另外,用户和连接字符串只需从mongodb地图集复制粘贴即可。

有人可以解释错误的位置,第二个错误也无法找到模块...,我创建了一个新项目并安装了所有依赖项,但是这个依赖项不会消失。可能只有我一个,但我认为nodemon不能正常运行,没有[nodemon]前缀

[edit]现在出现了另一个错误:

MongoDB Shell版本v4.0.10 例外:数据库名称不能为mongodb:// URL保留字符:mongodb://127.0.0.1:27017 / DB%5CNew 内部/模块/ cjs / loader.js:968 抛出错误 ^

const mongoConnect = (callback) => {
  MongoClient.connect(
    "mongodb+srv://wesleynodejs:(passwordICopiedFromMongoDb)@learning.2fvkd.mongodb.net/test?retryWrites=true&w=majority"
  )
    .then((client) => {
      console.log("CONNECTED TO MONGODB");
      _db = client.db();
      callback();
    })
    .catch((err) => console.log(err));
};

1 个答案:

答案 0 :(得分:0)

[已解决]看到了关于我的第二个错误“ internal / modules / cjs / loader.js:968 throw err”的帖子,解释它是由于在同一目录中有一些具有相同名称的.js文件引起的,这些文件位于同一目录中主目录。

更改我的文件位置对我来说还是可行的,尽管我看不到这是如何神奇地解决我的连接错误的问题!

希望这对其他人有帮助,因为我很困惑,无法在mongoDB的“ HostNotFound:找不到地址”上找不到任何内容