2012-08-28 30 views
1

我使用node-mongodb-native驅動程序與connect-session-mongo。當我使用連接會話蒙戈與Mongos它連接會話 - 蒙戈的設定方法將引發錯誤:MongoDB:mongos進程,node-mongodb-native,connect-session-mongo

[Error: no open connections] 

這似乎工作得很好,如果我註釋掉連接會話,蒙戈碼。其他人同時使用這兩個與sharding

它僅適用於副本集,但是當我們在測試實例上設置分片時,它一直是一場噩夢。

任何想法如何讓他們玩好?我應該爲每個運行第二個mongos進程嗎?

回答

1

在Node.JS中修復了Mongo驅動程序更新1.1.5。

1

你在哪裏打電話給db.open?我有一種感覺,認爲在啓動應用程序之前,您並沒有等待db.open來解決問題。你可以通過調用你的db.open回調中的app.listen來解決這個問題。像下面這樣對我有用:

var app = require('express').createServer(), 
    mongo = require('mongodb'), 
    db = new mongo.Db('dbname', new mongo.Server('localhost', 27017, { autoreconnect: true })), 
    MongoSessionStore = require('connect-mongodb'); 

app.configure(function() { 
    // ... 
    app.use(express.session({ secret: "supersecret", store: new MongoSessionStore({url: 'localhost'}) })); 
    // ... 
}); 

app.get('/', route.index); 
// etc... 

db.open(function(err){ 
    if(err) throw err; 

    app.listen(3000); 
}) 
+1

我是,它工作好幾個月。就在我們切換到Mongo而不是MongoServer時,它就死了。 –