与populate一起使用时,mongoose查询性能低下

时间:2017-06-02 17:38:50

标签: 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' });




1 个答案:

答案 0 :(得分:1)

我想尝试重新构建你的集合可能有所帮助,并且使用populate函数更少,因为它的操作非常繁重。当你使用populate时,请确保你知道你在做什么。