Получить случайный документ с определенными фильтрами MongoDB

получить высоту содержимого iframe, затем передать его этому iframe

 var iframes = document.getElementsByTagName("iframe");
 for(var i = 0, len = iframes.length; i<len; i++){
      window.frames[i].onload = function(_i){
           return function(){
                     iframes[_i].style.height = window.frames[_i].document.body.scrollHeight + "px";
                     }
      }(i);
 }
1
задан Leonardo Drici 15 January 2019 в 15:16
поделиться

1 ответ

1112 Здесь важен порядок этапов. Вы продвигаете этап $match после этапа $sample , который сначала помещает $size в целые документы, а затем применяет этап $match к $sample d документирует документы.

Итак, наконец, вам нужно продвинуть стадию $sample после стадии $match. Порядок должен быть

const limit = Number(req.query.limit || 1);

  const difficulty = req.query.difficulty;
  const category = req.query.category;
  const settings = []

  if (difficulty && category) {
    settings.push({
      $match: {
        difficulty: difficulty,
        category: category
      }
    })
  } else if (difficulty && category == null) {
    settings.push({
      $match: {
        difficulty
      }
    })
  }

  if (difficulty == null && category) {
    settings.push({
      $match: {
        category
      }
    })
  }

  setting.push({
    $sample: {
      size: limit
    }
  })
  console.log(settings);

  Question.aggregate(settings)
0
ответ дан Anthony Winzlet 15 January 2019 в 15:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: