我知道MongoDB的随机记录选择是not actually supported,但我找到了few ways来解决它。
但是,我想选择加权随机项。这是fairly easy with mySql,但我不确定使用Mongo的最佳方式。
我正在解决的问题是:我有一个收集抽奖活动的集合,根据用户分享/推广比赛的次数,他们得到一个“额外的条目”,以增加他们获胜的机会。我没有复制用户的条目,而是有一个记录他们共享比赛次数的字段。我想用这个数字作为乘数来加权随机选择“胜利者”。
以下是我想到的一些方法:
我在这里做什么吗?还有其他任何建议,对于我遗漏的明显解决方案?我打算做一些实验,看看哪些有用,但欢迎任何有关我最初想法的反馈!!
性能需要“好”不是很好,因为这些竞赛中没有一个可能会有百万条目(通常更像是几十万),所以公平性/准确性是比速度更重要。感谢。