我有以下问题: let post = await User.findOneAndUpdate( { _id: USER_ID }, { $push: { posts: { title, content, userId: USER_ID, titleUrl, thumbnail: { webp: WEBP_PATH, jpeg: JPEG_PATH, placeholder: PLACEHOLDER } } } }, { new: true } );这个查询几乎可以正常工作。问题是每当我将一个项目推送到数组时,我都想取回更新后的元素。不幸的是,我得到了整个文档,其中包含数组中的所有帖子。当然我可以做类似的事情,posts.slice(-1)但我认为如果我只需要 1 个元素,加载所有内容的效率非常低,不是吗?有人知道如何只获取新添加的对象吗?
1 回答
郎朗坤
TA贡献1921条经验 获得超9个赞
不幸的是没有选择findOneAndUpdate
您可以projection
对原始文档进行操作,但不能对更新后的文档进行操作findOneAndUpdate
我认为没有简单有效的方法可以做到这一点。
添加回答
举报
0/150
提交
取消