如何在 MongoDB 中同时使用两个投影?

How can I use two projections in MongoDB at the same time?

我有需要从这种格式中检索数据的文档:

{
    "id": ObjectId("alskdjflqkjwr23"),
    "field1": {
        "morefields": values
    },
    "field2": {
        "morefields": values
    },
    "field3": {
        "morefields": values
    },
    "field14": {
        "morefields": values
    },
    "importantField": {
        "subfield1": values,
        "subfield2": values,
        "importantArray": [
            {
                "subsubfield1": values,
                "importantSubArray": [
                    {
                        "subsubsubfield1": values,
                        "subsubsubfield2": values
                    },
                    {
                        "subsubsubfield1": values,
                        "subsubsubfield2": values
                    }
                ],
                "importantValue": values
            },
            {
                "subsubfield1": values,
                "subsubfield2": values,
                "subsubfield3": values
            }
        ]
    }
}

我需要 importantSubArray 字段中的 importantValue 和元素,但如果没有其他字段中的所有额外数据,我无法查询 return 我需要的内容。我一周前才开始使用 Mongo。

我已经尝试过这个查询,但只有一个投影有效,这取决于我放入它们的顺序。所以我可以 return 仅 importantField 中的数组,但所有 400 个左右的元素,不仅是最后 2 个,或者我可以 return importantField.importantArray 的最后 2 个元素,而且 return 所有其他字段、子字段、子子字段等

db.getCollection("my_data").find({}, 
    { 
        "importantField.importantArray" : 1.0,
        "importantField.importantArray": { $slice: -2 }
    }
);

如何让这两者同时工作?谢谢

编辑:

预期的输出应如下所示。我需要 importantSubArray 数组和 importantValue 字段中的元素

{
    "importantSubArray": [
       {
            "stuff": morestuff
       },
    ],
    "importantValue": value

我能够将@prasad_ 的评论与切片结合起来,方法是使用聚合并在第一阶段投影我想要的字段,然后在第二阶段进行另一个投影并对最后 2 个元素进行切片。