problem description
 two Collection:  teams ,  scores . 
  teams   score  is an Array, field associated with  _ id . 
 now look up  teams  and count the  score  according to its  round  field. 
 but I can only look up all the relevant values from  scores  Collection. I don"t know how to count them. 
  teams  is as follows: 
/* 1 */
{
    "_id" : ObjectId("5b963f96219e2651faaf1d1b"),
    "title" : "",
    "number" : "01",
    "description" : "",
    "score" : [ 
        ObjectId("5b9a1ced72b68d055a2f56e6"), 
        ObjectId("5b9a1d6cdb831f08d251c24c"), 
        ObjectId("5b9a1dbedb831f08d251c24d"), 
    ]
}
/* 2 */
{
    "_id" : ObjectId("5b963f96219e2651faaf1d1c"),
    "title" : "",
    "number" : "02",
    "description" : "",
    "score": []
}
  scores  structure is as follows: 
/* 1 */
{
    "_id" : ObjectId("5b965604e9095d7cfb289ea8"),
    "team" : ObjectId("5b963f96219e2651faaf1d1b"),
    "round" : ObjectId("5b8e5467759a584980dbe33b"),
    "value" : 22,
}
/* 2 */
{
    "_id" : ObjectId("5b965610e9095d7cfb289ea9"),
    "team" : ObjectId("5b963f96219e2651faaf1d1b"),
    "round" : ObjectId("5b8e5467759a584980dbe33c"),
    "value" : 221,
}
/* 3 */
{
    "_id" : ObjectId("5b965614e9095d7cfb289eaa"),
    "team" : ObjectId("5b963f96219e2651faaf1d1b"),
    "round" : ObjectId("5b8e5467759a584980dbe33b"),
    "value" : 98,
}
what methods have you tried? related code
db.getCollection("teams").aggregate([
  {
    $lookup: {
      from: "scores",
      localField: "score",
      foreignField: "_id",
      as: "score"
    }
  }
])
I can use the above code to find out the following data:
{
    "_id" : ObjectId("5b963f96219e2651faaf1d1b"),
    "title" : "",
    "number" : "01",
    "description" : "",
    "score" : [ 
        {
            "_id" : ObjectId("5b9a1ced72b68d055a2f56e6"),
            "team" : ObjectId("5b963f96219e2651faaf1d1b"),
            "round" : ObjectId("5b8e5467759a584980dbe33b"),
            "value" : 228
        }, 
        {
            "_id" : ObjectId("5b9a1d6cdb831f08d251c24c"),
            "team" : ObjectId("5b963f96219e2651faaf1d1b"),
            "round" : ObjectId("5b8e5467759a584980dbe33b"),
            "value" : 18,
        }, 
        {
            "_id" : ObjectId("5b9a1dbedb831f08d251c24d"),
            "team" : ObjectId("5b963f96219e2651faaf1d1b"),
            "round" : ObjectId("5b8e5467759a584980dbe33c"),
            "value" : 128,
        },
    ]
}
what result do you expect?
 you can count  round  in the  score  field, for example: 
{
    "_id" : ObjectId("5b963f96219e2651faaf1d1b"),
    "title" : "",
    "number" : "01",
    "description" : "",
    "score" : [ 
        {
            "round" : ObjectId("5b8e5467759a584980dbe33c"),
            "count": 2,
            "total" : 228
        }, 
        {
            "round" : ObjectId("5b8e5467759a584980dbe33b"),
            "count": 1,
            "total" : 1328,
        }, 
    ]
}
 I can provide database files if necessary. 
 mongoDB version: 3.6.x, which can be upgraded. 
