node.js非阻塞mongodb调用

时间:2014-07-23 06:09:18

标签: javascript node.js mongodb mongoose

我对Node.js相对较新,并且正在使用MongoDB作为数据库进行项目。一些MongoDB查询很昂贵。例如,我有一个包含数百万条记录的集合,根据搜索条件,查询查询可能需要1-2秒。

调用MongoDB(使用Mongoose驱动程序)阻止Node.js处理其他请求,直到MongoDB返回结果?

此外,是否有任何工具可以识别具有阻塞性质的潜在代码行?

谢谢。

1 个答案:

答案 0 :(得分:3)

@ user949300提供了正确答案。

通常,如果他们在函数签名中有回调,则它们是非阻塞的。例如MongoClient.connect(' mongodb://127.0.0.1:27017 / test',function(err,db)有一个回调函数(错误,db)并且是非阻塞的。