【发布时间】:2015-10-12 14:59:30
【问题描述】:
我对 Node.js 比较陌生,并且正在使用 MongoDB 作为数据库的项目。一些 MongoDB 查询很昂贵。例如,我有一个包含数百万条记录的集合,根据搜索条件,查找查询可能需要 1-2 秒。
在 MongoDB 返回结果之前,对 MongoDB 的调用(使用 Mongoose 驱动程序)是否会阻止 Node.js 处理其他请求?
另外,是否有任何工具可以识别具有阻塞性质的潜在代码行?
谢谢。
【问题讨论】:
-
一般来说,如果它们在函数签名中有回调,它们就是非阻塞的。例如
MongoClient.connect('mongodb://127.0.0.1:27017/test', function(err, db)有一个回调函数(err, db) 并且是非阻塞的。
标签: javascript node.js mongodb mongoose