gpt4 book ai didi

node.js - Mongodb toArray() 性能

转载 作者:可可西里 更新时间:2023-11-01 09:45:43 26 4
gpt4 key购买 nike

我有一个“匹配”的集合,其中包含 727000 个文档。它内部有 6 个字段,没有数组,只有简单的整数和对象 ID。我正在对集合进行如下查询:

matches.find({
$or: [{
homeTeamId: getObjectId(teamId)
}, {
awayTeamId: getObjectId(teamId)
}
],
season: season,
seasonDate: {
'$gt': dayMin,
'$lt': dayMax
}
}).sort({
seasonDate: 1
}).toArray(function (e, res) {
callback(res);
});

结果仅返回大约 7-8 个文档。查询大约需要 100 毫秒,我认为这是相当合理的,但主要问题是,当我调用方法 toArray() 时,它增加了大约 600 毫秒!!我在我的笔记本电脑上运行服务器,英特尔酷睿 I5,6GB 内存,但我不敢相信它会为 7-8 个文档增加 600 毫秒。尝试使用 mongodb-native 驱动程序,现在切换到 mongoskin,仍然得到同样缓慢的结果。有什么建议吗?

最佳答案

toArray() 方法迭代抛出所有游标元素并将它们加载到内存中,这是一个高成本的操作。也许您可以添加索引来提高查询性能,和/或避免 toArray 迭代自己抛出 Cursor。

问候,莫西

关于node.js - Mongodb toArray() 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15889242/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com