我寫了一段代碼,它應該從MongoDB集合中發送一個包含5個隨機檔案的陣列。但不幸的是,它只回傳一個空陣列。如何解決?
const arr = [] 。
for (let i = 0; i < 5; i ){
User.countDocuments().exec(function (err, count) {
var random = Math.floor(Math.random() * count)
User.findOne().skip(隨機).exec(
函式(err, result) {
arr.push(result)
})
})
}
res.send(arr)
uj5u.com熱心網友回復:
你可以使用$sample進入一個聚合階段,像這樣:
User.aggregation([
{
"$sample": {
"size": 5
}
}
])
示例 這里
正如檔案所說:
從其輸入中隨機選擇指定數量的檔案。
而這正是你想要的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/331061.html
標籤:
