我正在尝试进行一个查询,其中我有一个db_task
包含任务 ID 和分配给它的用户的查询。我必须获取 db_user 集合中存在的用户详细信息,并将传入的详细信息添加到同一个文档中。
db_task
{
"_id" : ObjectId("5d8b522d0cf2579c57bc8ce0"),
"users" : [
{
"user_id" : ObjectId("5d8b522d0cf2579e27bc8ce3"),
"is_finished" : false
},
{
"user_id" : ObjectId("5d6f6d25e079b9fb7d858236"),
"is_finished" : false
}
]
}
用户字段分配了该任务的用户,我想对db_user
查询进行查找,这将使我获得同一个嵌入式文档中的详细信息。
db_user
{
"_id" : ObjectId("5d8b522d0cf2579e27bc8ce3"),
"first_name" : "Harry",
"last_name" : "Paul"
},
{
"_id" : ObjectId("5d6f6d25e079b9fb7d858236"),
"first_name" : "Aaron",
"last_name" : "Potter"
}
我尝试使用“users.user_id”对 db_user 表进行 $lookup,但这会为我获取一个新字段,然后我尝试将这些数组与“$concatArrays”连接起来,但结果仍然不是我所期望的。
我想以类似这样的格式获取输出
db_task
{
"_id" : ObjectId("5d8b522d0cf2579c57bc8ce0"),
"users" : [
{
"user_id" : ObjectId("5d8b522d0cf2579e27bc8ce3"),
"is_finished" : false,
"user_info":{
"first_name" : "Harry",
"last_name" : "Paul"
}
},
{
"user_id" : ObjectId("5d6f6d25e079b9fb7d858236"),
"is_finished" : false,
"user_info":{
"first_name" : "Aaron",
"last_name" : "Potter"
}
}
]
}