【发布时间】: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