У меня есть следующие коллекции в MongoDB ( mongoplayground ) [characters
, guilds
]
Я хочу создать $lookup
, который добавит поле rank
в результирующий документ, вот так:
"members_t": [
{
"_id": ObjectId("5a934e000102030405000000"),
"level": 20,
"name": "test1",
"rank": 1
},
{
"_id": ObjectId("5a934e000102030405000001"),
"level": 40,
"name": "test2",
"rank": 2
}
]
старый $lookup
синтаксис не может мне с этим помочь, но следующий запрос с новым синтаксисом возвращает мне пустой массив в поле tested
(даже без стадии $addFields
):
{
$lookup: {
from: "characters",
let: {
members_name: "$members.name",
rank: "$members.rank"
},
pipeline: [
{
$match: {
name: "$$members_name"
}
}
],
as: "tested"
}
}
Итак, есть ли возможность добавить дополнительное поле после стадии $lookup
или нет?
(Mon go -v 4.2. 3, поэтому проблема не связана с поддержкой нового синтаксиса)