Я пытаюсь создать запрос, в котором у меня есть запрос db_task
, который содержит идентификатор задачи и назначенных ему пользователей. Мне нужно получить данные о пользователях, которые присутствуют в коллекции 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"
}
Я попытался выполнить поиск в $ db_user в таблице с помощью «users.user_id», но это привело бы к новому полюи затем я попытался объединить эти массивы с "$ 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"
}
}
]
}