我正在尝试从 MongoDB 实现(半)随机结果;我知道,Q/A 有很多,就在这里。但是......当我尝试查询 MongoDB 时,只是为了好玩,看看我会得到什么,$lte 给了我一些非常奇怪的结果。考虑这个数据集:
1. 0.011224885703995824
2. 0.01718393270857632
3. 0.03377954219467938
4. 0.09617210761643946
5. 0.10130057414062321
6. 0.13116577989421785
7. 0.25664394721388817
8. 0.27124307211488485
9. 0.3029055509250611
10. 0.31508319173008204
11. 0.3163822046481073
12. 0.34581731259822845
13. 0.5077376591507345
14. 0.5806738587561995
15. 0.5997774603310972
16. 0.6492975174915045
17. 0.710568506969139
18. 0.7257499841507524
19. 0.7275129975751042
20. 0.771076871547848
存储在一个名为 random 的字段中,并用 rand 函数填充。这个字段有一个索引,但是有 20 条记录,我认为这并不重要。但。如果我查询:.findOne( {'random': { $lte : 0.59 }} )
我得到结果:“随机”:0.34581731259822845(数字 12),而期望数字 14...?当我尝试更多查询时,结果很奇怪。有时它是我所期望的,但大多数时候它似乎......嗯,我不知道。我不明白上面的查询如何导致它给出的结果......