Почему запрос даты с агрегатом не работает в parse-сервере? - PullRequest
0 голосов
/ 13 мая 2019

Я хочу запросить пользователя, где updatedAt меньше или равно сегодня, используя агрегат, потому что я занимаюсь другими вещами, такими как сортировка по указателям.

Я использую облачный код для определения запроса с сервера. Сначала я попытался с помощью mongoDB Compass проверить мой запрос с помощью ISODate, и он работает, но использование его в NodeJS, похоже, работает неправильно.

Я также заметил, что эта проблема уже исправлена, говорят они. Я также видел их тесты.

Вот ссылка на этот PR.

Я прохожу свидание вот так:

const pipeline = [
  {
    project: {
      _id: true,
      process: {
        $substr: ['$_p_testdata', 12, -1]
      }
    }
  },
  {
    lookup: {
      from: 'Test',
      localField: 'process',
      foreignField: '_id',
      as: 'process'
    }
  },
  {
    unwind: {
      path: '$process'
    }
  },
  {
    match: {
      'process._updated_at': {
         $lte: new Date()
      }
    }
  }
];

const query = new Parse.Query('data');
return query.aggregate(pipeline);

Я ожидаю, что значением будет массив длиной 4, но я получу только пустой массив.

Мне удалось получить данные без даты совпадения.

1 Ответ

0 голосов
/ 14 мая 2019

Пожалуйста, попробуйте это:

const pipeline = [
  {
    match: {
      'editedBy.updatedAt': {
         $lte: new Date()
      }
    }
  }
];
...