MEAN.js无法连接到MongoDB

时间:2014-11-05 00:10:12

标签: node.js mongodb

用MEAN.js创建我的应用程序无法以任何方式在端口27017上进行mongodb连接。 我在目录

中手动安装了mongodb
~$ ls -la /etc/init.d/mongod 

输出

lrwxrwxrwx 1 root root 56 Nov 4 20:45 /etc/init.d/mongod -> /home/myuser/projects/packages/linux-mongodb/bin/mongod 
I try to run the file or `` server.js` grunt` the NASC repository command and got the following error:

正在运行node server.js我收到此输出:

Application loaded using the "development" environment configuration 
Failed to load c ++ bson extension, using pure JS version 
Insecurely using http protocol 
MEAN.JS application started on port 27017 
Could not connect to MongoDB! 
Error: connection closed 

存储库网址: https://github.com/meanjs/mean

可能有什么暗示? 我期待个人联系。 提前谢谢!

参考链接:

https://stackoverflow.com/a/22557417/3332734

正在运行cat /etc/mongod.conf

# mongod.conf

# Where to store the data.

# Note: if you run mongodb as a non-root user (recommended) you may
# need to create and set permissions for this directory manually,
# e.g., if the parent directory isn't mutable by the mongodb user.
dbpath=/var/lib/mongodb
###dbpath=/home/myuser/projects/packages/mongodb-linux/databases

#where to log
logpath=/var/log/mongodb/mongod.log
###logpath=/home/myuser/projects/packages/mongodb-linux/mongod.log

logappend=true

port = 27017

# Listen to local interface only. Comment out to listen on all interfaces. 
bind_ip = 127.0.0.1

# Disables write-ahead journaling
# nojournal = true

# Enables periodic logging of CPU utilization and I/O wait
#cpu = true

# Turn on/off security.  Off is currently the default
#noauth = true
#auth = true

# Verbose logging output.
#verbose = true

# Inspect all client data for validity on receipt (useful for
# developing drivers)
#objcheck = true

# Enable db quota management
#quota = true

# Set oplogging level where n is
#   0=off (default)
#   1=W
#   2=R
#   3=both
#   7=W+some reads
#diaglog = 0

# Ignore query hints
#nohints = true

# Enable the HTTP interface (Defaults to port 28017).
#httpinterface = true
httpinterface = true

# Turns off server-side scripting.  This will result in greatly limited
# functionality
#noscripting = true

# Turns off table scans.  Any query that would do a table scan fails.
#notablescan = true

# Disable data file preallocation.
#noprealloc = true

# Specify .ns file size for new databases.
# nssize = <size>

# Replication Options

# in replicated mongo databases, specify the replica set name here
#replSet=setname
# maximum size in megabytes for replication operation log
#oplogSize=1024
# path to a key file storing authentication info for connections
# between replica set members
#keyFile=/path/to/keyfile

在控制台中运行mongo并检索输出:

$ mongo
MongoDB shell version: 2.6.5
connecting to: test
2014-11-05T19:23:18.957-0200 warning: Failed to connect to  127.0.0.1:27017, reason: errno:111 Connection refused
2014-11-05T19:23:18.958-0200 Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146

异常:连接失败


在控制台中运行mongod并检索输出:

$ mongod

mongod --help for help and startup options
2014-11-05T19:26:53.215-0200 [initandlisten] MongoDB starting : pid=3487 port=27017 dbpath=/data/db 64-bit host=francis-tosystems
2014-11-05T19:26:53.215-0200 [initandlisten] db version v2.6.5
2014-11-05T19:26:53.215-0200 [initandlisten] git version: e99d4fcb4279c0279796f237aa92fe3b64560bf6
2014-11-05T19:26:53.215-0200 [initandlisten] build info: Linux build8.nj1.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49
2014-11-05T19:26:53.215-0200 [initandlisten] allocator: tcmalloc
2014-11-05T19:26:53.215-0200 [initandlisten] options: {}
2014-11-05T19:26:53.215-0200 [initandlisten] exception in initAndListen: 10296 
*********************************************************************
 ERROR: dbpath (/data/db) does not exist.
 Create this directory or give existing directory in --dbpath.
 See http://dochub.mongodb.org/core/startingandstoppingmongo
*********************************************************************
, terminating
2014-11-05T19:26:53.215-0200 [initandlisten] dbexit: 
2014-11-05T19:26:53.215-0200 [initandlisten] shutdown: going to close listening sockets...
2014-11-05T19:26:53.215-0200 [initandlisten] shutdown: going to flush diaglog...
2014-11-05T19:26:53.215-0200 [initandlisten] shutdown: going to close sockets...
2014-11-05T19:26:53.215-0200 [initandlisten] shutdown: waiting for fs preallocator...
2014-11-05T19:26:53.215-0200 [initandlisten] shutdown: lock for final commit...
2014-11-05T19:26:53.215-0200 [initandlisten] shutdown: final commit...
2014-11-05T19:26:53.215-0200 [initandlisten] shutdown: closing all files...
2014-11-05T19:26:53.216-0200 [initandlisten] closeAllFiles() finished
2014-11-05T19:26:53.216-0200 [initandlisten] dbexit: really exiting now

或运行mongod

$ mongod --config /etc/mongod.conf &
[1] 3568 2014-11-05T19:28:16.867-0200 SEVERE: Failed global initialization: FileNotOpen Failed to open "/var/log/mongodb/mongod.log"

修改


我不再使用MEAN.js,但我继续使用MongoDB和node.js进行学习

问题是我不知道如何启动mongodb来连接数据库

今年我学到了很多关于mongodb和node.js的知识,我理解了我需要做的事情。

在你的帮助下,我有三个步骤:

  1. 使用mongod --dbpath /project/path-do-database/
  2. 打开控制台
  3. 我将我的API连接到mongodb,传递了正确的端口
  4. 通过启动带有nodenodemon的node.js API并传递项目的主要javascript文件来打开第二个控制台。

3 个答案:

答案 0 :(得分:3)

基本上,您需要在同一文件夹中运行2个终端。 一个用于mongoDB,一个用于您的应用程序。

在第一个终端上,

1>> npm install -g meanjs
1>> yo meanjs

然后填写您的申请名称,作者姓名等。

1>> npm install

打开第二个终端以启动mongodb服务器

2>> mongod 

返回第一个终端并运行

1>> npm start

答案 1 :(得分:1)

您正在与mongodb服务器(27017)在同一端口上启动您的meanjs应用程序。如果没有为meanjs指定端口,它将在开发环境中从3000开始。

答案 2 :(得分:0)

我知道这可能已经晚了,但错误日志说明了一切:

 ERROR: dbpath (/data/db) does not exist.

我相信您需要创建/ data / db文件夹,或者它是在其他地方创建的。 这里已经回答: mongodb Mongod complains that there is no /data/db folder