Mongo $ sample не работает на некоторых машинах

На машине разработчика запрос $sample работает нормально. На серийной машине это выходит из строя.

Это очень простой запрос для получения случайных элементов из коллекции. Никаких других команд конвейера агрегации.

Есть предложения, где искать?
Goog обнаружил еще пару проблем, но ничего особенного.

  • машина разработчика: Mac v3.6.5
  • производственная машина: Ubuntu v3.6.7

  • ошибка:

$sample stage could not find a non-duplicate document after 100 while using a random cursor

код:

let grams = await GramsModel.coll.aggregate(
  [
    { $sample: { size: 2 } }
  ]
).toArray()

бревно

@random.rikai-bots.com 279|tutorw | MongoError: $sample stage could not find a non-duplicate document after 100 while using a random cursor. This is likely a sporadic failure, please try again.
@random.rikai-bots.com 279|tutorw |     at Function.MongoError.create (/opt/rikai/web-apps/tutorweb/node_modules/mongodb-core/lib/error.js:31:11)
@random.rikai-bots.com 279|tutorw |     at queryCallback (/opt/rikai/web-apps/tutorweb/node_modules/mongodb-core/lib/cursor.js:212:36)
@random.rikai-bots.com 279|tutorw |     at /opt/rikai/web-apps/tutorweb/node_modules/mongodb-core/lib/connection/pool.js:469:18
@random.rikai-bots.com 279|tutorw |     at process._tickCallback (internal/process/next_tick.js:61:11)
@random.rikai-bots.com 279|tutorw | Mon, 08 Oct 2018 20:00:33 GMT server 

Ошибка НЕ ​​является спорадической - 100% происходит на Ubuntu / 3.6.7 и никогда на Mac / 3.6.5.

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

Это происходит только тогда, когда курсор возвращает повторяющиеся документы после 100 попыток. Источник здесь

styvane 08.10.2018 22:19

Интересно, как это может отличаться в разных envs? Я также сбросил и перезагрузил данные из prod в свой dev env. Может ли это случиться, если есть одна повторяющаяся запись (кроме поля _id)?

dcsan 09.10.2018 05:42
Использование JavaScript и MongoDB
Использование JavaScript и MongoDB
Сегодня я собираюсь вкратце рассказать о прототипах в JavaScript, а также представить и объяснить вам работу с базой данных MongoDB.
0
2
103
0

Другие вопросы по теме