mongodblocalhostmean-stack

MongoError: failed to connect to server [localhost:27017] on first connect


I have paid a membership and downloaded this project. After npm install and node app.js, it returns the following error:

Does anyone know what's wrong?

/Users/Thomas/Desktop/mean-stack-tutorial-01$ node app.js 

/Users/Thomas/Desktop/mean-stack-tutorial-01/node_modules/mongodb/lib/server.js:265
        process.nextTick(function() { throw err; })
                                      ^
MongoError: failed to connect to server [localhost:27017] on first connect
    at Pool.<anonymous> (/Users/Thomas/Desktop/mean-stack-tutorial-01/node_modules/mongodb-core/lib/topologies/server.js:325:35)
    at emitOne (events.js:96:13)
    at Pool.emit (events.js:188:7)
    at Connection.<anonymous> (/Users/Thomas/Desktop/mean-stack-tutorial-01/node_modules/mongodb-core/lib/connection/pool.js:270:12)
    at Connection.g (events.js:292:16)
    at emitTwo (events.js:106:13)
    at Connection.emit (events.js:191:7)
    at Socket.<anonymous> (/Users/Thomas/Desktop/mean-stack-tutorial-01/node_modules/mongodb-core/lib/connection/connection.js:173:49)
    at Socket.g (events.js:292:16)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at emitErrorNT (net.js:1281:8)
    at _combinedTickCallback (internal/process/next_tick.js:74:11)
    at process._tickCallback (internal/process/next_tick.js:98:9)

Edit 1: Following the comments, I just installed mongo via brew, and did brew services start mongodb and then mongo:

/Users/Thomas$ mongo
MongoDB shell version v3.4.1
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.1
Server has startup warnings: 
2017-01-12T19:53:01.868+0800 I CONTROL  [initandlisten] 
2017-01-12T19:53:01.869+0800 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-01-12T19:53:01.869+0800 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2017-01-12T19:53:01.869+0800 I CONTROL  [initandlisten] 

Then I did

/Users/Thomas$ mongod -httpinterface --dbpath /Users/Thomas/Desktop/MongoDB/db
2017-01-12T20:14:05.620+0800 I CONTROL  [initandlisten] MongoDB starting : pid=47356 port=27017 dbpath=/Users/Thomas/Desktop/MongoDB/db 64-bit host=Pro.local
2017-01-12T20:14:05.621+0800 I CONTROL  [initandlisten] db version v3.4.1
2017-01-12T20:14:05.621+0800 I CONTROL  [initandlisten] git version: 5e103c4f5583e2566a45d740225dc250baacfbd7
2017-01-12T20:14:05.621+0800 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.2j  26 Sep 2016
2017-01-12T20:14:05.621+0800 I CONTROL  [initandlisten] allocator: system
2017-01-12T20:14:05.621+0800 I CONTROL  [initandlisten] modules: none
2017-01-12T20:14:05.621+0800 I CONTROL  [initandlisten] build environment:
2017-01-12T20:14:05.621+0800 I CONTROL  [initandlisten]     distarch: x86_64
2017-01-12T20:14:05.621+0800 I CONTROL  [initandlisten]     target_arch: x86_64
2017-01-12T20:14:05.621+0800 I CONTROL  [initandlisten] options: { storage: { dbPath: "/Users/Thomas/Desktop/MongoDB/db" } }
2017-01-12T20:14:05.657+0800 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=3584M,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2017-01-12T20:14:14.108+0800 I CONTROL  [initandlisten] 
2017-01-12T20:14:14.108+0800 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-01-12T20:14:14.108+0800 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2017-01-12T20:14:14.108+0800 I CONTROL  [initandlisten] 
2017-01-12T20:14:14.108+0800 I CONTROL  [initandlisten] 
2017-01-12T20:14:14.109+0800 I CONTROL  [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
2017-01-12T20:14:15.390+0800 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory '/Users/Thomas/Desktop/MongoDB/db/diagnostic.data'
2017-01-12T20:14:16.303+0800 I INDEX    [initandlisten] build index on: admin.system.version properties: { v: 2, key: { version: 1 }, name: "incompatible_with_version_32", ns: "admin.system.version" }
2017-01-12T20:14:16.304+0800 I INDEX    [initandlisten]      building index using bulk method; build may temporarily use up to 500 megabytes of RAM
2017-01-12T20:14:16.406+0800 I INDEX    [initandlisten] build index done.  scanned 0 total records. 0 secs
2017-01-12T20:14:16.407+0800 I COMMAND  [initandlisten] setting featureCompatibilityVersion to 3.4
2017-01-12T20:14:16.407+0800 I NETWORK  [thread1] waiting for connections on port 27017

Then in another terminal, I did node app.js, which hangs (and does not print anything). Then I does http://localhost:28017 in a browser, it seems to work:

enter image description here

However, how could I see the website?

Edit 2:

The normal process is

  1. install mongo

  2. brew services start mongodb in a terminal

  3. mongo & (assume we use the default folder /data/db/)

  4. npm start

  5. see e.g., bin/www for the port number, then use localhost:the_port_number in a browser


Solution

  • Update 2020 Feb 24:

    It would be wise to stay tuned with it. Here is the link for latest library instruction:

    https://docs.mongodb.com/manual/administration/install-community/


    You haven't started your monogo database. first install mongo install mongo as per your OS https://docs.mongodb.com/v3.0/tutorial/

    then follow instructions mentioned on this site: https://docs.mongodb.com/v3.0/tutorial/getting-started-with-the-mongo-shell/

    1. cd .
    2. mongod --dbpath "any directory path to start your database "

    and then start your node server. It will work fine.

    Hope this helps!!