首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mongodb toArray()性能

Mongodb toArray()性能
EN

Stack Overflow用户
提问于 2013-04-09 05:21:56
回答 1查看 3K关注 0票数 3

我有一个“matches”集合,里面有727000个文档。它有6个字段,没有数组,只有简单的整数和对象Ids。我正在对集合进行查询,如下:

代码语言:javascript
运行
复制
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个文档。查询大约需要100ms,我认为这很合理,但主要问题是,当我调用toArray()方法时,它增加了大约600ms!!我在我的笔记本电脑上运行服务器,英特尔酷睿I5,6 6GB内存,但我不敢相信它为7-8个文档增加了600ms。尝试使用mongodb原生驱动程序,现在切换到mongoskin,仍然获得相同的缓慢结果。有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2013-05-02 01:50:00

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

致敬,莫西

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15889242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档