微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 req.body

如何解决使用 req.body

我有一个用户集合,一个文档可以如下...

{
  _id: ObjectId('this user id'),firstName: 'first name of this user',lastName: 'last name of this user',tvs: [
    {
      _id: ObjectId('this tv id'),brand: 'This tv brand',size: 'this tv size',},{
      _id: ObjectId('this other tv id'),brand: 'this other tv brand',size: 'this other tv size',}
  ]
}

我在尝试仅使用 tvs 更新嵌入在 req.body 数组中的文档时遇到问题。通过执行以下操作,我设法能够根据电视 ID 更新文档...

await User.updateOne(
    {
      _id: req.user.id,'tvs._id': req.params.id,{
      $set: { 'tvs.$.brand': req.body.brand },}
  );

但是我想做的是这样的......

await User.updateOne(
    {
      _id: req.user.id,{
      $set: { 'tvs.$': req.body },}
  );

其中 req.body 可以有多个字段,并且只会更新指定的字段而其他字段保持不变。问题是,当我这样做时,它会将我的元素更改为只有 id 和我在 req.body 中可能拥有的任何字段,并删除所有其他字段。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。