Запрос на поиск значения меньше X ничего не возвращает - PullRequest
0 голосов
/ 10 ноября 2019

У меня есть коллекция, где я сохраняю accessTokens и время их истечения. Я хочу автоматически загрузить все те, срок действия которых истекает в течение следующих X дней.

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

// HighestExptime is the timestamp of the latest day that I want to select
query := bson.M{"expiration": bson.M{"$lte": highestExpTime}}

// dbo is just an instance of a *mongo.Database struct
ctx, _ := context.WithTimeout(context.Background(), 30 * time.Second)
cur, err := dbo.Collection(dbLogin.DBCollection).Find(ctx, query)

Документы выглядят так:

{
  userID // string
  accessToken // string
  refreshToken // string
  expiration // int
}

Я бы ожидал, что он будет возвращать каждыйзапись, в которой expiration ниже, чем highestExpTime и, следовательно, является «более старой» в этом смысле.

Но когда я на самом деле выполняю его, он просто возвращает пустой ответ и никакой ошибки.

1 Ответ

0 голосов
/ 10 ноября 2019

Я сам нашел проблему. Оказывается, что мой другой процесс NodeJS добавил документ только со строками, что является причиной того, что $lte ничего не возвращало.

Мне просто нужно было убедиться, что все, что связано с этим, добавлено как целое число / число с плавающей точкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...