【问题标题】:Limit to above and below mongodb [duplicate]限制为上下mongodb [重复]
【发布时间】:2019-08-11 05:26:45
【问题描述】:

我有以下疑问:

var score = 44;

      return Family.find({score: score}).then(function (war_response) {
            return war_response;
        })

但我正在寻找一种方法来仅获得高于我的分数 10 和低于我的分数 5 的结果(总共 15 个结果/行)。^

实现这一目标的最佳方法是什么?

编辑:

所以我希望 1-10 的结果高于我的分数,而 1-5 的结果低于我的分数。

【问题讨论】:

  • 你可以做两个查询。
  • @SergioTulentsev 为什么要运行两个查询?这会产生不必要的开销。收藏可能非常庞大。
  • 是否可以在一个查询@Adam 中做到这一点?
  • @Adam:没必要?我想看看如何合二为一。适当的索引可以消除对集合大小的担忧。

标签: javascript database mongodb mongoose


【解决方案1】:

async yourRequest(){

  const myScore = 44;
  const resultsAboveMyScore = 10;
  const resultsBelowMyScore = 5;

  const aboveTheLimit = await Family.find({ 
      score: { $gte: myScore } 
    }).limit(resultsAboveMyScore);
  const belowTheLimit = await Family.find({ 
      score: { $lte: myScore } 
    }).limit(resultsBelowMyScore);

  return [...aboveTheLimit, ...belowTheLimit];
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-10
    • 2017-10-22
    • 1970-01-01
    • 1970-01-01
    • 2012-08-08
    • 1970-01-01
    相关资源
    最近更新 更多