【问题标题】:How to optimize a list all mongoose query?如何优化列表所有猫鼬查询?
【发布时间】:2019-10-18 22:36:46
【问题描述】:

在过去的几天里,我忙于尽可能地改进和优化网站的猫鼬查询。 我发现的主要事情是使用我已经做过的索引。 但是有一个问题... 在我的 mongo 模式中,我几乎没有“列出所有”查询,我的意思是: 将从该模型返回所有​​内容且没有任何参数的查询。

我目前正在使用 ExpressJS 和 MongoDB v4.0.6 开发 NodeJS v8.15.1

我正在谈论的查询类型,下面的示例是我的实际查询之一:

ModelSchema.statics.listAll = function ( callback ){
 try {
  return  this.find( {}, callback ).select({"x":0,"y":0});
 } catch (err) {
  console.log(err);
  return null;
 }
};

如您所见,我正在尝试从该模型中获取除 x 和 y 字段之外的所有内容。

查询运行良好,没有任何问题。 只要它不使用任何索引字段,它就不会运行得更快或类似的东西。 但是不知道有没有办法优化呢?

非常感谢您的帮助!

【问题讨论】:

  • 没有办法优化这个查询。即使您以某种方式设法使用索引字段来查询和返回所有文档,这仍然需要类似的执行时间,除非您过滤结果以减少返回的文档。

标签: javascript node.js mongodb mongoose mongodb-query


【解决方案1】:

我想我找到了答案: 我可以通过缓存请求并在每次更改时再次查询来解决该问题。

【讨论】:

    猜你喜欢
    • 2022-01-17
    • 2018-10-10
    • 2013-10-21
    • 1970-01-01
    • 1970-01-01
    • 2020-06-02
    • 2012-02-03
    • 2019-09-29
    • 1970-01-01
    相关资源
    最近更新 更多