2024-06-01 20:43:09 发布
网友
我正在寻找一种方法,以随机顺序对我的Mongodb文档进行排序。在
我在PyMongo的API或StackOverflow上找不到任何解决方案。在
基于列表的解决方案或任何其他的内存消耗解决方案都无关紧要,因为我使用的是海量数据库。在
根据最终结果,您可能正在尝试实现$sample 聚合运算符将完成此工作。在
cursor = your_collection.aggregate([{'$sample': {'size': your_collection.count()}}], allowDiskUse=True)
这将给你一个随机的聚集光标,你可以迭代
MongoDB没有“按随机排序”功能。如果没有足够的文档可以放入RAM中,那么可以将它们全部提取到一个列表中,并使用Python标准库的random.shuffle:
random.shuffle
import random import pymongo collection = pymongo.MongoClient().db.collection docs = random.shuffle(list(collection.find()))
根据最终结果,您可能正在尝试实现$sample 聚合运算符将完成此工作。在
这将给你一个随机的聚集光标,你可以迭代
^{pr2}$MongoDB没有“按随机排序”功能。如果没有足够的文档可以放入RAM中,那么可以将它们全部提取到一个列表中,并使用Python标准库的
random.shuffle
:相关问题 更多 >
编程相关推荐