我正在使用猫鼬在MongoDB上执行一些正则表达式查询。但是,当我进行此类查询时
this.model
.find(filter)
.limit(args.limit)
.skip(args.skip)
.sort(args.sort)
.hint()
.lean()
在没有事件1000文档的集合中,获得结果的时间大约是3到5秒。如果我在mongo shell中执行相同的查询,它将在100毫秒左右执行。我除了直接在数据库上执行查询与从驱动程序上执行查询之间存在一些差异外,但是在这里延迟确实很大,我不明白为什么。我正在对其进行正则表达式的字段也已建立索引。 我还尝试使用聚合框架执行几乎相同的查询,但是没有运气
this.model.aggregate([{$match: filter}, {$skip: args.skip}, {$limit: args.limit}])
this.model
是该集合的猫鼬模型