MongoDB:从一个集合中提取多个随机文档
MongoDB: Pulling multiple random documents from a collection
我需要从MongoDB中的一个集合中提取多个随机文档。我不想为我的文档添加新密钥,也不想使用map reduce。有什么建议吗?
您可以生成从0到收集项目计数的随机跳过,然后加载文档:
db.items.find().skip(randonNumberHere).limit(1);
但是,这种方法对于大型集合来说效率越来越低,因为每次使用skip-mongodb时,都会从第一个迭代到跳过项。
如果集合不是大得离谱。。。
all_ids = MyModel.collection.distinct(:_id)
@my_models = MyModel.find(all_ids.sample(100)) # or .shuffle.take(100) in 1.8.7
相关文章:
- 使用promise和mongoose对文档进行排序
- 正在对已提取的文档进行填充.有可能吗?如果有,怎么做
- 如何在一个字段中只提取6个值为true的文档
- 从 html 文档中提取 json var
- CouchDB:访问_design视图或提取文档字段的替代方法是什么
- 如何使用 gwt 从给定 URL 的文档中提取内容
- Mongoose,从子文档中提取
- 将html文档中的css样式提取到外部css文件中
- 是否有可能获得所有HTML内容元素;普通的“;使用javascript从HTML文档中提取文本值
- MongoDB:从一个集合中提取多个随机文档
- 如何从JSON文档数组中提取字段数组
- 如何从通过createHTMLDocument方法创建的文档中提取样式表
- 从html下拉菜单中提取文本(rMarkdown文档)
- javascript可以从源文档中提取精确的(逐字符)HTML吗?
- 用python从html文档中提取javascript变量值
- 是否有一种简洁的方法可以从SVG文档中提取所有元素并将它们放入html文本框中?
- 如何使用jquery提取要转换的XML文档的一部分(xslt) ?
- 如何检索"文本"用CasperJS中的JavaScript从文档中提取
- 如何使用JavaScript从Word文档中提取图像
- jQuery从xml文档中提取属性