2016-09-26 78 views
2

取出由MongoDB的数据我想从MongoDB中,其中数据库连接正常,每次取数据,没有任何错误。但是,当我试图获取数据它给了我下面的错误:错误在Node.js的

{ [MongoError: connection 5 to c1669.candidate.18.mongolayer.com:11669 timed out] 
    name: 'MongoError', 
    message: 'connection 5 to c1669.candidate.18.mongolayer.com:11669 timed out' } 

但首先10至11的尝试是好的,从蒙戈获得预期的数据,后来我通过上面的错误不断推出。

欲了解更多信息:使用mongodb npm module

+0

,你能否告诉我们您正在尝试的代码? – Shrabanee

+0

对不起!我无法显示我的代码段。我有约束力。 –

+0

现在,有时会出现“在复本集中找不到主节点”的错误。而且大多数情况下,前面的错误只有7个而不是5个。 {[MongoError:连接7至c1669.candidate.18.mongolayer.com:11669超时] 名: 'MongoError', 信息: '连接7至c1669.candidate.18.mongolayer.com:11669超时'} –

回答

1

我认为它的连接池的大小问题,因为你说的第一个10-11尝试都不错,可能是你定义了非常有限的池大小连接,因此,当您创建连接,超过限制它不是允许后查询数据库。请检查它,因为我不确定没有看到代码,但这可能是原因。

更新:

试试下面的选项在连接到数据库的时间。

var dbOptions = { 
    server: { 
     socketOptions: { 
      keepAlive: 100, 
      connectTimeoutMS: 30000 
     } 
    } 
}; 

mongoose.connect('mongodb://localhost/db', dbOptions); 

请参阅此链接,因为您似乎正在使用replicaset。 https://github.com/Automattic/mongoose/issues/2089

+0

现在我正在使用:var options = {native_parser:true,poolSize:50,server:{socketOptions:{connectTimeoutMS:15000,socketTimeoutMS:15000}}}; 仍然面临同样的错误。还要别的吗? –

+0

任何人都可以帮忙吗?这对我来说就像是噩梦。 –