performance - 与填充一起使用时 Mongoose 查询性能低下

标签 performance mongoose mongodb-query mongoose-populate

我需要有关此查询的帮助。 我正在 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' });

最佳答案

我想尝试重组您的集合可能会有所帮助,并减少使用 populate 函数,因为它是一项繁重的操作。确保您在使用 populate 时知道自己在做什么。

关于performance - 与填充一起使用时 Mongoose 查询性能低下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44334577/

相关文章:

asp.net - 大页面在 IE7 中的页面性能

node.js - Mongoose 文本搜索不返回结果

arrays - MongoDB $addToSet 替换

node.js - Mongoose 查找 array.length 大于 0 的所有文档并对数据进行排序

mysql - 使用左连接优化查询

performance - 对 Lucene 搜索结果进行分组并按类别计算频率

node.js - Mongoose 没有生活联系

java - 如何在 mongodb 中按一个字段值分组并按另一字段排序

performance - Kubernetes 对运行应用程序的性能影响或开销

node.js - Mongoose 和 Express,如何从数据库中获取唯一记录?