Mongodb聚合排序,在大型排序规则上查找

时间:2018-03-12 14:17:34

标签: mongodb aggregation-framework

我在查找和排序聚合方面存在性能问题。

在我需要排序之前,我确实限制然后查找并且它很快但是现在因为排序,我需要先放置查找,这会使查询增加30秒。

旧查询:



query.push({$skip: start});
query.push({$limit: length});
query.push({
      $lookup: {
          from: "campaigns",
          localField: "campaign_id",
          foreignField: "_id",
          as: "campaign"
      }
  });




新查询:



query.push({
    $lookup: {
        from: "campaigns",
        localField: "campaign_id",
        foreignField: "_id",
        as: "campaign"
    }
});

query.push({$sort: {"campaign.name": order.dir === 'asc' ? 1 : -1}});
query.push({$skip: start});
query.push({$limit: length});




另外,由于广告系列字段来自查询,我无法将其编入索引。

您需要从查找中排序的场景的最佳方法是什么?

0 个答案:

没有答案