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.