我知道我在做一些非常愚蠢的事情,但我希望有人能帮我从node建立到mongodb的基本数据库连接.mac上的js.

我已经用brew 软件安装了mongodb,似乎运行得很好.我已经以本地登录用户的身份启动了服务器(mongod),并打开了第二个终端,确认我可以使用mongo连接到它.当我运行mongo时,我会收到一条消息"connecting to:localhost:27017/test",后面是一个命令提示符.在mongo shell中运行了几个命令,那里似乎一切正常.让两个终端打开并运行.

我还确认我可以访问localhost:28017的web界面.

我安装了node.js并添加了mongoose包.现在try 使用超级简单的 node 进行连接.js应用程序(也以本地登录用户的身份运行):

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');

我收到以下错误

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: connect ECONNREFUSED
    at errnoException (net.js:901:11)
    at Object.afterConnect [as oncomplete] (net.js:892:19)

我的头撞在墙上,试图得到这么简单的工作.我错过了什么?

编辑:以下是mongod的日志(log).正如你所看到的,我try 了多次,但都在瞬间失败:

Thu Dec  5 08:19:43.700 [initandlisten] MongoDB starting : pid=14412 port=27017 dbpath=/usr/local/var/mongodb 64-bit host=mobadmins-MacBook-Pro-3.local
           08:19:43.700 [initandlisten] db version v2.4.8
           08:19:43.700 [initandlisten] git version: nogitversion
           08:19:43.700 [initandlisten] build info: Darwin mobadmins-MacBook-Pro-3.local 12.4.0 Darwin Kernel Version 12.4.0: Wed May  1 17:57:12 PDT 2013; root:xnu-2050.24.15~1/RELEASE_X86_64 x86_64 BOOST_LIB_VERSION=1_49
           08:19:43.700 [initandlisten] allocator: tcmalloc
           08:19:43.700 [initandlisten] options: { bind_ip: "127.0.0.1", config: "/usr/local/etc/mongod.conf", dbpath: "/usr/local/var/mongodb", logappend: "true", logpath: "/usr/local/var/log/mongodb/mongo.log", rest: true }
           08:19:43.700 [initandlisten] journal dir=/usr/local/var/mongodb/journal
           08:19:43.700 [initandlisten] recover : no journal files present, no recovery needed
           08:19:43.729 [websvr] admin web console waiting for connections on port 28017
           08:19:43.729 [initandlisten] waiting for connections on port 27017
           08:22:34.561 [initandlisten] connection accepted from 127.0.0.1:52160 #3 (1 connection now open)
           08:22:34.563 [conn3] recv(): message len 1124073472 is too large. Max is 48000000
           08:22:34.563 [conn3] end connection 127.0.0.1:52160 (0 connections now open)
           08:24:41.298 [initandlisten] connection accepted from 127.0.0.1:52166 #4 (1 connection now open)
           08:24:41.304 [conn4] end connection 127.0.0.1:52166 (0 connections now open)
           08:25:06.938 [initandlisten] connection accepted from 127.0.0.1:52168 #5 (1 connection now open)
           08:25:06.943 [conn5] end connection 127.0.0.1:52168 (0 connections now open)
           08:25:18.220 [initandlisten] connection accepted from 127.0.0.1:52172 #6 (1 connection now open)
           08:25:18.225 [conn6] end connection 127.0.0.1:52172 (0 connections now open)
           08:25:38.811 [initandlisten] connection accepted from 127.0.0.1:52175 #7 (1 connection now open)
           08:25:38.816 [conn7] end connection 127.0.0.1:52175 (0 connections now open)

推荐答案

好吧,这是我在上面发布的信息中没有真正公开的另一个例子.我的 node .js app was非常简单,但我在 node 中加入了另外几行.导致这个问题的js代码.

具体来说,我声明了另一个变量,该变量调用了其他一些代码,这些代码使用不正确的数据库信息进行了单独的数据库调用.这就是为什么在使用Xinzz的代码时,控制台日志(log)错误似乎没有改变.其实不是mongoose .正在抛出错误的connect命令!

吸取教训,本地化问题并注释掉不相关的代码!抱歉,伙计们,我知道这是我的愚蠢.

Node.js相关问答推荐

FireStore事务似乎已允许并发编辑?

请求正文未定义

Playwright - 无法在 img 标签中使用 file:// 访问本地文件

在 azure blob 容器之间复制文件

Prisma 和 Nextjs:重新部署之前内容不会更新

如何在 node /快速服务器上配置 mongoDB

在 getServerSideProps 中使用 EmailProvider 获取 NextAuth 会话会抛出 fs找不到模块

对 google api v3 的 Axios 请求返回加密(?)数据

是Electron 的密码和登录凭据的安全存储吗?

如何刷新 youtube-data-api v3 的访问令牌

Sharp JS 依赖关系 destruct 了 Elastic Beanstalk 上的 Express Server

Socket IOFlutter 未连接

为什么 req.params.id 返回 undefined未定义?

使用restify时如何支持cors

如何为 node.js 服务器分配域名?

如何在 NodeJs 中下载和解压缩内存中的 zip 文件?

为什么数组上的js映射会修改原始数组?

如何在 NodeJS 中拆分和修改字符串?

node.js 找不到模块mongodb

FireStore 如果不存在则创建一个文档