Я пытаюсь реализовать (полу-) случайный результат из MongoDB; Я знаю, вопросов/ответов много, здесь, на ТАК. Но... Когда я попытался запросить 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...? Когда я попробовал еще несколько запросов, результат был очень странным. Иногда это то, чего я ожидаю, но чаще всего кажется... ну, я не знаю. Я не понимаю, как приведенный выше запрос приводит к результату, который он дает...