Кажется, что вы могли бы сформировать решение 1 там (при условии, что ваш ключ _id был значением auto-inc), затем просто сделать подсчет ваших записей и использовать его в качестве верхнего предела для случайного int в c ++, затем возьмите этот ряд.
Аналогичным образом, если у вас нет ключа autoinc _id, просто создайте его с вашими результатами ... наличие дополнительного поля с INT не должно слишком сильно увеличивать размер вашего документа.
Если у вас нет поля auto-inc, Монго говорит о том, как быстро добавить его здесь:
Поле Auto Inc.