【发布时间】:2021-01-02 15:05:30
【问题描述】:
我已经向here 提出了一个关于 $unwind 运算符的问题,但我遇到了在之后正确分组数据的问题。
我有一个mongo playground 的例子,但这里也是。在查询中的$unwind、$lookup 和$group 之后(也许有更好、更有效的方法?),我留下了这些数据:
[
{
"ExerciseDetail": [
[{ "Name": "Squat", "_id": "5f60c3b7f93d8e00a1cdf414" }],
[{ "Name": "Deadlift", "_id": "5f60c3b7f93d8e00a1cdf415" }]
],
"Sets": [
{
"ExerciseId": "5f60c3b7f93d8e00a1cdf414",
"Sets": [],
"WorkoutExerciseId": "5f60dc1069c27c015ede4e3e"
},
{
"ExerciseId": "5f60c3b7f93d8e00a1cdf415",
"Sets": [],
"WorkoutExerciseId": "5f60dc1069c27c015ede4e34"
}
],
"_id": "5f60dc1069c27c015ede4e3e"
}
]
但我想做的是,根据等效的 ExerciseId,将每个练习详细信息对象添加到相应的 Sets 对象中,以便最终结果如下所示:
{
"_id": "5f60dc1069c27c015ede4e3e",
"Sets": [
{
"ExerciseId": "5f60c3b7f93d8e00a1cdf414",
"Name": "Squat",
"Sets": [],
"WorkoutExerciseId": "5f60dc1069c27c015ede4e3e"
},
{
"ExerciseId": "5f60c3b7f93d8e00a1cdf415",
"Name": "Deadlift",
"Sets": [],
"WorkoutExerciseId": "5f60dc1069c27c015ede4e34"
}
]
}
任何人都可以帮助正确分组吗? (如果你发现 $unwind 的更好方法,$lookup 也是?)
【问题讨论】:
标签: mongodb mongoose aggregation-framework