У меня есть два документа с DBRef-связью между этими документами.
{
"_id": 77,
"title": "Test title",
"status": "in-progress",
"reporter": {
"$ref": "User",
"$id": ObjectId("5daf022549a36e319879f357"),
"$db": "test"
},
"priority": "high",
"project": {
"$ref": "Project",
"$id": 30,
"$db": "gsc"
}
}
Пользовательский документ:
{
"_id": ObjectId("5daf022549a36e319879f357"),
"username": "user1",
"email": "test@gmail.com",
"is_active": true,
"firstName": "user-1"
}
Я пробовал запрос ниже, но не получил должного результата
db.Task.findOne($lookup:
{
from: User,
localField: reporter,
foreignField: reporter._id,
as: User_Task
}
)
Как выполнить JOIN? Кроме того, хотите, чтобы оба документа документировали? Я хочу получить данные из документа задач и предложить способ соединения с полем проекта.
Нужен такой результат:
{
"_id" : 77,
"title" : "Test title",
"status" : "in-progress"
"reporter" :
{
"_id" : ObjectId("5daf022549a36e319879f357"),
"username" : "user1",
"email" : "test@gmail.com"
"is_active" : true,
"firstName" : "user-1"
},
"priority" : "high",
"project" : {}