猫鼬.随机填充
Mongoose .populate random
可以'populate random'吗?
示例
.populate({
path: 'path',
options: {limit: 2}
});
"Example" 总是 return 相同的 2 个项目。始终是数组中的最后 2 项。
是否可以使用 .populate()
return 随机物品?怎么做出来的?
用户 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}
});
编辑
如果你想每次 return 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}
});
})
可以'populate random'吗?
示例
.populate({
path: 'path',
options: {limit: 2}
});
"Example" 总是 return 相同的 2 个项目。始终是数组中的最后 2 项。
是否可以使用 .populate()
return 随机物品?怎么做出来的?
用户 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}
});
编辑
如果你想每次 return 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}
});
})