MongoDB - 根据字段值和查询限制查询均匀分布的结果数

时间:2018-06-17 09:11:17

标签: mongodb mongodb-query pymongo

假设我有一个像这样的文件的集合,字段“家庭”和3个不同的值(水果,蔬菜,坚果)。

收集:

{
  'name': banana,
  'family': fruit 
},
{
  'name': apple,
  'family': fruit 
},
{
  'name': orange,
  'family': fruit 
},
{
  'name': cucumber,
  'family': vegetable 
},
{
  'name': aubergine,
  'family': vegetable
},
{
  'name': walnut,
  'family': nut
}

# count family == 'fruit': 3
# count family == 'vegetable': 2
# count family == 'nut': 1

任务:

我想通过传递查询限制来查询此集合,并根据字段“family”的值均匀分布返回文档。

示例:

limit = 3的查询将返回3个文档,每个文档包含一个文档,例如

{
  'name': orange,
  'family': fruit 
},
{
  'name': cucumber,
  'family': vegetable 
},
{
  'name': walnut,
  'family': nut
}

限制= 5的查询将返回1项家庭'坚果',2项家庭'蔬菜'和2项家庭'水果'。

问题:

这可能与pymongo / mongo有关,如果是这样,怎么样?

感谢您的帮助!

0 个答案:

没有答案