【发布时间】:2014-12-11 09:41:10
【问题描述】:
到目前为止,我遇到了选择随机文档的方法,但我的问题有点像泡菜。所以这里是
我有一个集合,其中包含 1000+ 个文档(产品) 假设每个文档都有或多或少的通用格式。为简单起见说它是
{"_id":{},"name":"Product1","groupid":5}
groupid 是一个介于 1 到 20 之间的数字,表示产品属于该组。
现在,如果我的查询 input 类似于 {groupid->weight} 数组,例如 {[{"2":4},{"7":6}] } 并说出另一个参数 n(=10 say) 然后我需要能够选择 4 个随机文档 属于 groupid 2 和 6属于 groupid 7 的随机文档。
我能想到的唯一解决方案是运行“m”个子查询,其中 m 是查询输入中的数组长度。 我如何使用可能的 Mapreduce 在 MongoDB 中以一种有效的方式完成此操作。
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework database