与填充一起使用时,猫鼬查询性能低下

Posted

技术标签:

【中文标题】与填充一起使用时,猫鼬查询性能低下【英文标题】:mongoose query low performance when using with populate 【发布时间】:2017-11-04 04:45:51 【问题描述】:

我需要有关此查询的帮助。 我在 AppVisitor 中查询 8000 个文档,填充了 4 个集合。但它没有返回任何结果。意味着它被卡住了,一段时间后 nodejs 服务器为执行此查询的路由返回 404 错误。

 let Keys = yield AppVisitor.find(condition).sort( createdAt: -1 )
                .populate( path: 'userDeatils' )
                .populate( path: 'details' )
                .populate(
                    path: 'skills',
                    match: 
                        $and: [ value:  $ne: ''  ,  value:  $ne: null  ,  value:  $not: /(R[\d]+)/g  ]
                    
                )
                .populate( path: 'courses' );

【问题讨论】:

嘿,您找到解决方案了吗? 【参考方案1】:

我想尝试重组你的集合可能会有所帮助,并且少用填充函数,因为它是一个相当繁重的操作。确保你在使用填充时知道你在做什么。

【讨论】:

以上是关于与填充一起使用时,猫鼬查询性能低下的主要内容,如果未能解决你的问题,请参考以下文章

在打字稿中使用猫鼬填充查询

猫鼬自己填充自定义查询

Kylin查询性能低下原因分析

Hibernate + Java 性能较慢,但当我将 TOAD 与相同的本机 Oracle 查询一起使用时性能较快

猫鼬虚拟填充无限循环

填充猫鼬后查找