Возможно ли «заполнить случайным образом»?
Пример
.populate({
path: 'path',
options: {limit: 2}
});
"Пример" всегда возвращает одни и те же 2 элемента. Всегда последние 2 элемента в массиве.
Можно ли вернуть случайный предмет с помощью .populate()? Как это сделать?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


пользователь javascript 'Math.random и Math.floor
The random() method returns a random number from 0 (inclusive) up to but not including 1 (exclusive).
подробнее и примеры: https://www.w3schools.com/js/js_random.asp
чтобы иметь случайный предел между 1 и 20:
var myLimit = Math.floor(Math.random() * (20 - 1) + 1);
.populate({
path: 'path',
options: {limit: myLimit}
});
РЕДАКТИРОВАТЬ
если вы хотите каждый раз возвращать случайные предметы 2, используйте skip:
var myRandom = Math.floor(Math.random() * (20 - 1) + 1);
.populate({
path: 'path',
options: {limit: 2, skip:myRandom}
});
но это выберет две случайные записи среди первого 20, чтобы быть более точным, вам нужно подсчитать все записи, а затем сгенерировать случайное число от 1 до этого количества:
yourModel.count({}, function( err, count){
var myRandom = Math.floor(Math.random() * (count - 1) + 1);
// your old code ..
.populate({
path: 'path',
options: {limit: 2, skip:myRandom}
});
})
Я хочу сделать что-то вроде $ sample, которое всегда возвращает случайные элементы. Можно ли вернуть случайные элементы, используя заполнение?
Извините, но я не хочу менять лимит, я хочу, чтобы оно было 2, проблема в том, что он всегда возвращает только те же 2 элемента