繁体   English   中英

猫鼬没有连接到本地主机

[英]mongoose not connecting to localhost

尝试创建猫鼬连接时似乎出现问题。 我关注的是2014年出版的一本书,因此我的立即反应是检查猫鼬文档,但他们同意这本书的格式正确。 以下是我的联系:

var dbURI = 'mongodb://localhost/Loc8r';
mongoose.connect(dbURI);

添加这些行后,会出现以下错误:

Mongoose connection error: mongodb://127.0.0.1/Loc8r
(node:743) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): MongoNetworkError: failed to connect to server [127.0.0.1:27017] on first connect [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017]
(node:743) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

如果删除连接,则不会有任何错误...但是那会破坏尝试连接到数据库的目的。 我还尝试用URI代替localhost来解决127.0.0.1 ,这可以解决一些问题,但是我也没有运气。 我通过终端在一个简单的$nodemon命令上运行localhost ,没有别的。

有用的信息:

  • MongoDB v3.6.3
  • 猫鼬v5.0.10
  • 快递v4.15.5
  • 节点v8.9.4

帮助将不胜感激。

谢谢。

尝试这种方式

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

// Connection URL
var url = 'mongodb://localhost:27017/myproject';

// Use connect method to connect to the server
MongoClient.connect(url, function(err, db) {
  assert.equal(null, err);
  console.log("Connected successfully to server");

  db.close();
});

您走的路正确,但是您忘了在其上运行MongoDB的端口,在MongoDB的端口27017

不要忘记启动MongoDB服务器,如果您在mac open终端上并输入mongod ,它将启动您的MongoDB服务器,然后运行您的代码,它将正常工作。

var dbURI = 'mongodb://localhost:27017/Loc8r';
mongoose.connect(dbURI);
mongoose.connection.on("connected", () => {
    console.log("Connected to database");
});
mongoose.connection.on("error", (err) => {
  console.log("Database error:" + err);
});

我为此感到抱歉,因为我自己可以找到解决方案,但是我想这可能有一天会帮助其他人。

故障在于我仅通过Homebrew安装了MongoDB,而在字面上“安装”了MongoDB并认为MongoDB被“安装”后,我就停止了。 我回过头来看看应该如何正确安装MongoDB,我注意到我没有创建目录/data/db并为其提供权限,这是重要的一步。

完成此操作后,我在全球范围内运行mongod ,并在单独的终端上(位于应用程序的本地位置)运行nodemon ,它运行良好,并在控制台中获得成功消息。 每次我尝试连接时,它都在搜索/data/db ,但由于我没有成功,它显然找不到。 但是如果尼克希尔(Nhilhil)没有提到跑mongod我不会得出这个结论。

总而言之,请确保将来执行所有安装步骤。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM