【发布时间】:2020-04-24 05:52:29
【问题描述】:
我在 1 米关系中有 2 个集合(这是一个样本,不是真实数据) 这是问题收集的数据
[
{
"_id":"question1",
"text":"test test test test"
},
{
"_id":"question2",
"text":"test test test test"
},
{
"_id":"question3",
"text":"test test test test"
},
{
"_id":"question4",
"text":"test test test test"
}
]
这里是回复收集的数据
[
{
"_id":'reply1',
"questionId":"question1",
"text":"Hello World1"
},
{
"_id":'reply2',
"questionId":"question1",
"text":"Hello World1"
},
{
"_id":'reply3',
"questionId":"question2",
"text":"Hello World1"
},
{
"_id":'reply4',
"questionId":"question3",
"text":"Hello World1"
},
]
当我使用 $lookup 时,它会加入 2 个集合并给我这个结果
[
{
"_id":"question1",
"text":"test test test test",
"totalReplies":[{...},{...}]
},
{
"_id":"question2",
"text":"test test test test",
"totalReplies":[{...}]
},
{
"_id":"question3",
"text":"test test test test",
"totalReplies":[{...}]
},
{
"_id":"question4",
"text":"test test test test",
"totalReplies":[]
}
]
但我需要获取外部字段的计数而不是数组包含我希望结果是这样的文档
[
{
"_id":"question1",
"text":"test test test test",
"totalReplies":2
},
{
"_id":"question2",
"text":"test test test test",
"totalReplies":1
},
{
"_id":"question3",
"text":"test test test test",
"totalReplies":1
},
{
"_id":"question4",
"text":"test test test test",
"totalReplies":0
}
]
有没有办法这样做?
【问题讨论】: