したがって、集計は実際にはすべてのcomment
を返します resultField
内のドキュメント 結果の数を暗黙的に含むフィールドは、組み込みのlen()
を使用してGoで長さを確認できるスライスです。 機能。
長さ(comment
の数)だけが必要なので ドキュメント)、そのため、この配列のサイズのみを取得する必要があります。そのために、 $addFields
を使用できます。
resultField
を置き換えるステージ 数値がこの配列の長さである配列。
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"},
},
},
})
$addFields
に注意してください ステージは$project
と同等です 入力ドキュメント内の既存のすべてのフィールドを明示的に指定し、新しいフィールドを追加するステージ。 MongoDBバージョン3.4以降でのみ使用可能です。