MongoDB:mongos进程,node-mongodb-native,connect-session-mongo

我正在使用connect-session-mongo的node-mongodb-native驱动程序。 当我在Mongo上使用connect-session-mongo时,会在connect-session-mongo的set方法中抛出一个错误:

[Error: no open connections] 

这似乎工作得很好,如果我注释掉connect-session-mongo代码。 其他人同时使用这两个分拆 ?

只有副本集合没问题,但是当我们在testing实例上设置分片时,这已经是一场噩梦。

任何想法如何让他们打好? 我应该为每个运行第二个mongos进程吗?

你在哪里打电话db.open? 我有一种感觉,在启动应用程序之前,您并没有等待db.open解决。 你可以通过调用你的db.opencallback中的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); }) 

在Node.JS Mongo驱动更新1.1.5中修复。