首页 > 解决方案 > MongoDB Group By,每组有限制

问题描述

例如我有一个集合:

{"people_id":"4878", "team_id" : "461", "match_name" : "Bellerín", "position" : "Defender"} 
{"people_id" : "6196", "team_id" : "462", "match_name" : "M. Özil", "position" : "Midfielder"}
{"people_id" : "4878", "team_id" : "463", "match_name" : "Bellerín", "position" : "Defender"}    
{"people_id" : "6196", "team_id" : "464", "match_name" : "M. Özil", "position" : "Midfielder"}
{"people_id" : "15430", "team_id" : "465", "match_name" : "A. Lacazette", "position" : "Forward" }
{"people_id" : "5437", "team_id" : "466", "match_name" : "B. Leno", "position" : "Goalkeeper"}

如何在 Mongodb 中进行查询以获取总共 15 条记录,每个记录最多 3 个,每个记录team_id最多 5 个position

我想要这样:

{"_id": "Defender", "items": [
    {"people_id":"4878", "team_id" : "461", "match_name" : "Bellerín", "position" : "Defender"},
    {"people_id" : "6196", "team_id" : "462", "match_name" : "M. Özil", "position" : "Defender"}
  ]
}
{"_id": "Midfielder", "items": [
    {"people_id":"4870", "team_id" : "465", "match_name" : "Bellerín", "position" : "Midfielder"},
    {"people_id" : "6190", "team_id" : "463", "match_name" : "M. Özil", "position" : "Midfielder"}
  ]
}

标签: mongodb

解决方案


推荐阅读