Как я могу заполнить _id из той же таблицы, используя платформу агрегации mongodb

#mongodb #mongoose #aggregation-framework

Вопрос:

Пожалуйста, найдите json ниже, это выходные данные, полученные с помощью приведенного ниже запроса агрегации:

 {
    "_id" : ObjectId("614381f4d97b8604ef648435"),
    "launchStepName" : "Launch Step - 1",
    "problemStep" : [
        {
            "checkBoxValue" : [
                "cb_1",
                "cb_2",
                "cb_3"
            ],
            "dropDownValue" : [ ],
            "radioValue" : [ ],
            "selectorValue" : [ ],
            "isDeleted" : false,
            "_id" : ObjectId("61438284d97b8604ef648437"),
            "question" : "is it a problem",
            "fieldType" : "checkBox",
            "fieldPriorityNumber" : 1
        },
        {
            "checkBoxValue" : [
                "cb_1",
                "cb_2",
                "cb_3"
            ],
            "dropDownValue" : [ ],
            "radioValue" : [ ],
            "selectorValue" : [ ],
            "isDeleted" : false,
            "_id" : ObjectId("61438328d97b8604ef648438"),
            "question" : "is it a problem -1",
            "fieldType" : "checkBox",
            "fieldPriorityNumber" : 2
        }
    ],
    "answers" : {
        "_id" : ObjectId("6144ad01a9279418a18a5b7c"),
        "isDeleted" : false,
        "qNa" : [
            {
                "_id" : ObjectId("6144bd0e3e350b19177ac94c"),
                "problemStepId" : "61438284d97b8604ef648437",
                "answer" : "Answer-21"
            }
        ],
        "launchStep" : ObjectId("614381f4d97b8604ef648435"),
        "answeredBy" : ObjectId("613e413619968b0652bbbb21"),
        "ideaId" : "613e413619968b0652bbbb22",
        "createdAt" : ISODate("2021-09-17T20:28:09.429 05:30"),
        "updatedAt" : ISODate("2021-09-17T21:36:38.537 05:30"),
        "__v" : 0
    }
}
 

Теперь, как я могу заполнить answers вместо problemStep._id , используя приведенный ниже запрос, используемый для получения этого вывода.

 db.launchsteps.aggregate([
    { $lookup: { from: "answers", localField: "_id", foreignField: "launchStep", as: "answerList" } },
    { $unwind: "$answerList" },
    { $match: {"answerList.answeredBy": ObjectId('613e413619968b0652bbbb21'), "answerList.ideaId": '613e413619968b0652bbbb22', _id: ObjectID('614381f4d97b8604ef648435') } },
    { $sort: { "problemSteps.fieldPriorityNumber": -1 } },
    {
        $project: {
            launchStepName: "$launchSteps",
            problemStep: "$problemSteps",
            answers: "$answerList"
        }
    }
])
 

Мне нужен массив ответов в problemStep._id, так как мы можем использовать его в справочных целях. problemStep может иметь массив объектов. Пожалуйста, помогите мне решить эту проблему. Я застрял с этим с утра.
Спасибо.