mongodb-更新后如何投影数组的最后一个元素

时间:2018-08-30 07:02:10

标签: mongodb mongoose

所以我有以下查询:

ListModel
    .findOneAndUpdate(
        {
            _id: list_id
        },
        {   
            $push: {
                "items": {
                    details: the_template
                }
            }
        },
        {
            new: true,
            projection: {
                items: 1
            }
        }
    )

因此,这将返回更新文档的数组,但是我将如何仅插入最后一个元素?

1 个答案:

答案 0 :(得分:1)

在您的情况下,您可以使用$slice


ListModel
    .findOneAndUpdate(
        {
            _id: list_id,
        },
        {   
            $push: {
                items: {
                    details: the_template,
                },
            },
        },
        {
            new: true,

            projection: {
               items: {
                  $slice: -1,
               },
            },
        },
    );