获取数组最后一个数

11/23/2023 MongoDB

要获取 MongoDB 数组中的最后一个元素,你可以使用 $arrayElemAt 结合 $size 来计算数组的长度。以下是如何执行这个操作:
假设你有以下的文档结构:

    {
        "_id": 1,
        "numbers": [5, 10, 15, 20]
    }

你可以使用 $arrayElemAt 来获取 "numbers" 数组的最后一个元素:

    db.collection.aggregate([
        {
            $project: {
                lastNumber: {
                    $arrayElemAt: ["$numbers", { $subtract: [{ $size: "$numbers" }, 1] }]
                }
            }
        }
    ])

在这个示例中,我们首先使用 $size 来获取数组 "numbers" 的长度,然后使用 $subtract 来计算数组长度减一,以获得最后一个元素的索引。最后,我们使用 $arrayElemAt 来获取数组的最后一个元素。
查询的结果将如下所示:

    {
        "_id": 1,
        "lastNumber": 20
    }

这个示例中,我们成功地获取了数组字段的最后一个元素。你可以根据你的数据模型和需要来调整查询中的字段名称和匹配条件。