На компьютере разработчика запрос $sample
работает нормально.На производственной машине происходит сбой.
Это очень простой запрос для получения некоторых случайных элементов из коллекции.
Нет других команд конвейерной агг.
Есть предложения, где искать?
Гуг поднял пару других вопросов, но ничего особенного.
$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()
log
@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
В остальном, мне просто нужно написать свою собственную функцию получения случайных элементов, используя смещения или что-то ...