我对Node.js相对较新,并且正在使用MongoDB作为数据库进行项目。一些MongoDB查询很昂贵。例如,我有一个包含数百万条记录的集合,根据搜索条件,查询查询可能需要1-2秒。
调用MongoDB(使用Mongoose驱动程序)阻止Node.js处理其他请求,直到MongoDB返回结果?
此外,是否有任何工具可以识别具有阻塞性质的潜在代码行?
谢谢。
答案 0 :(得分:3)
@ user949300提供了正确答案。
通常,如果他们在函数签名中有回调,则它们是非阻塞的。例如MongoClient.connect(' mongodb://127.0.0.1:27017 / test',function(err,db)有一个回调函数(错误,db)并且是非阻塞的。