2015-10-15 99 views
1
的NodeJS

我目前正在使用MongoDB的,快速,痛飲和的NodeJSMongoDB的連接錯誤與

它採用了最新的節點,以及其他依賴的一個簡單的Hello World應用程序。

Chrome 46.0(64位)。的Mac OS X 10.9.5

下面是我的app.js代碼

var express = require('express'), 
    app = express(), 
    cons = require('consolidate'), 
    MongoClient = require('mongodb').MongoClient, 
    Server = require('mongodb').Server; 

app.engine('html', cons.swig); 
app.set('view engine', 'html'); 
app.set('views', __dirname + '/views'); 

var mongoclient = new MongoClient(new Server("localhost", 27017, {'native_parser':false})); 
var db = mongoclient.db('course'); 

app.get('/', function(req, res){ 

    // Find one document in our collection 
    db.collection('hello_mongo_express').findOne({}, function(err, doc) { 

     if(err) throw err; 

     res.render('hello', doc); 
    }); 
}); 

app.get('*', function(req, res){ 
    res.send('Page Not Found', 404); 
}); 

mongoclient.open(function(err, mongoclient) { 

    if(err) throw err; 

    app.listen(8080); 
    console.log('Express server started on port 8080'); 
}); 

下面是我的錯誤時得到節點app.js:

AMAC02PC0PHG3QP:6_hello_world_express_swig_mongodb macadmin$ node app.js 
Failed to load c++ bson extension, using pure JS version 
/Users/macadmin/Desktop/NodeJS_MongoDB/6_hello_world_express_swig_mongodb/app.js:31 
    if(err) throw err; 
      ^

Error: failed to connect to [localhost:27017] 
    at null.<anonymous> (/Users/macadmin/Desktop/NodeJS_MongoDB/6_hello_world_express_swig_mongodb/node_modules/mongodb/lib/mongodb/connection/server.js:553:25) 
    at emitThree (events.js:97:13) 
    at emit (events.js:175:7) 
    at null.<anonymous> (/Users/macadmin/Desktop/NodeJS_MongoDB/6_hello_world_express_swig_mongodb/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:140:15) 
    at emitTwo (events.js:87:13) 
    at emit (events.js:172:7) 
    at Socket.<anonymous> (/Users/macadmin/Desktop/NodeJS_MongoDB/6_hello_world_express_swig_mongodb/node_modules/mongodb/lib/mongodb/connection/connection.js:512:10) 
    at emitOne (events.js:77:13) 
    at Socket.emit (events.js:169:7) 
    at emitErrorNT (net.js:1250:8) 

有些地方跟它寫127.0.0.1而不是本地主機。

回答

1

嘗試

sudo npm rebuild

一些包可能沒有被正確的初始設置過程中安裝。確保端口27017未被某些其他進程使用。

+0

試過了,沒有工作。 –

0

bson模塊可能未正確安裝。

嘗試 NPM安裝-g節點GYP

然後

NPM更新

+0

我試過這個邁克爾。它沒有工作。 –

+0

只是任何機會,你確定你的Mongo服務器正在運行?如果你做「sudo mongo」,你能連接到你當地的Mongo服務器嗎? –

+0

是。那是我做的第一件事:) –