HellishCode
@HellishCode

Как сделать поиск в MongoDB по индексам?

Добрый день
При создании коллекции я создаю индекс
await this.db.collection('users').insertOne({
        id: id,
        user_id: userId,
        sent_at: new Date(),
      });

 await this.db.collection('throttling_pitch_queue').createIndex({
        sent_at: Date.now(), // можно ли как-то использовать new Date() для индексов?
      });

Далее, я ищу пользователей, которые были добавлены в течении минуты
const user = database
              .collection('users')
              .find({
                sent_at: {
                  $gt: new Date(new Date().getTime() - 60000),
                },
              })
              .toArray();

Вопросы:
  1. При создании индекса, для sent_at могу ли я как-то использовать new Date() , сейчас у меня ошибка, так как пишет, что не может быть данного формата?
  2. Сейчас у меня поиск идет по полю sent_at, если не ошибаюсь, то поиск по индексу будет гораздо быстрее, тем более, если пользователей может быть миллион. Подскажите пожалуйста, как в данном случае осуществить поиск по индексу set_at, используя тот же алгоритм, как сейчас: new Date(new Date().getTime() - 60000), ?

  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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