为了账号安全,请及时绑定邮箱和手机立即绑定

猫鼬使用 findOneAndUpdate 并仅返回数组中的更新元素

猫鼬使用 findOneAndUpdate 并仅返回数组中的更新元素

繁花不似锦 2022-12-22 12:15:40
我有以下问题:  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

我认为没有简单有效的方法可以做到这一点。


查看完整回答
反对 回复 2022-12-22
  • 1 回答
  • 0 关注
  • 72 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信