Vì vậy, tổng hợp của bạn thực sự trả về tất cả comment tài liệu trong resultField trường, ẩn chứa số lượng kết quả, đó là một phần trong đó bạn có thể kiểm tra độ dài trong Go bằng cách sử dụng nội trang len() chức năng.
Vì bạn chỉ cần độ dài (số lượng comment tài liệu), đó là lý do tại sao bạn chỉ muốn truy xuất kích thước của mảng này. Vì mục đích đó, bạn có thể sử dụng $addFields
giai đoạn thay thế resultField mảng với một số là độ dài của mảng này.
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"},
},
},
})
Lưu ý rằng $addFields giai đoạn tương đương với một $project giai đoạn xác định rõ ràng tất cả các trường hiện có trong tài liệu đầu vào và thêm các trường mới. Chỉ khả dụng kể từ phiên bản MongoDB 3.4.