Не удается получить значение с помощью tier.Next (& result) при использовании golang mongo без индексов в коллекции, получить значение, если индекс указан - PullRequest
0 голосов
/ 14 февраля 2019

У меня возникает вопрос при использовании операции go mongo.

Мой код выглядит следующим образом:

iter = coll.Find(filter).Sort("-timestamp").Skip(12510).Limit(10).Iter()
for iter.Next(&result){
    ....
}

У меня 12520 документов в коллекции, но не удается получить значение с помощью iter.Next(), если я не установил индекс timestamp в MongoDB.Если я установлю индекс "timestamp", это будет работать, и я смогу получить значение в результате.

Итак, что случилось?

1 Ответ

0 голосов
/ 14 февраля 2019

Вы должны сначала декодировать свои данные, а затем повторить их

здесь item - это ваша структура данных, которую вы получаете из MongoDB

if err := iter.Decode(&item); err != nil {
return status.Errorf(
codes.Aborted,
fmt.Sprintln(errormsg.ERR_MSG_DATA_CANT_DECODE, err))
}

, затем выполните итерацию, она будет работать !!!

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