findOneAndUpdate-仅返回数组中的推入项

时间:2018-10-29 10:58:16

标签: javascript mongodb mongoose

我对mongodb查询有疑问。

我更新了数组,它起作用了。但是它返回完整的文档,包含所有项目的数组。我只需要返回最后一个项目就可以返回数组。

有什么想法吗?

这是我的代码。

Test

1 个答案:

答案 0 :(得分:0)

尝试一下:

const updateMessage = (userId, messageId) => {
    return OperationMessageUser.findOneAndUpdate({
        userId: userId,
        'messages.messageId': {
            $ne: messageId
        },
    }, {
        $addToSet: {
            messages: {
                messageId: messageId,
                status: 1,
                lastRead: Date.now()
            },
        },
    }, {
        new: true,
        //projection: 'messages',
    }).messages[0];
};