Så din sammenlægning returnerer faktisk alle comment dokumenter i resultField felt, som implicit indeholder antallet af resultater, det er et udsnit, som du kan kontrollere længden af i Go ved hjælp af den indbyggede len() funktion.
Da du kun behøver længden (antal comment). dokumenter), det er derfor, du kun ønsker at hente størrelsen af dette array. Til det formål kan du bruge $addFields
trin for at erstatte resultField matrix, hvor et tal er længden af denne matrix.
pipe := c.Pipe([]bson.M{
{
"$lookup": bson.M{
"from": "comment",
"localField": "_id",
"foreignField": "post_id",
"as": "resultField",
},
},
{
"$addFields": bson.M{
"resultField": bson.M{"$size": "$resultField"},
},
},
})
Bemærk, at $addFields fase svarer til et $project trin, der eksplicit specificerer alle eksisterende felter i inputdokumenterne og tilføjer de nye felter. Kun tilgængelig siden MongoDB version 3.4.