首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何更新对象数组的对象值?

如何更新对象数组的对象值?
EN

Stack Overflow用户
提问于 2021-11-03 08:33:47
回答 2查看 25关注 0票数 0

以下代码不是更新书名,如何实现我更新书名的目的?

代码语言:javascript
运行
复制
user: {
    _id: "123",
    books: [{ title: "ABC", pages: 99 }],
}

await model.updateOne(
    {
        _id: userID,
        "books._id": bookID,
    },
    { book: { title: "" } }
);
EN

回答 2

Stack Overflow用户

发布于 2021-11-03 08:39:49

在您的场景中,您需要arrayFilters

代码语言:javascript
运行
复制
db.collection.update({
  _id: "123" //userID
},
{
  $set: {
    "books.$[book].title": ""
  }
},
{
  arrayFilters: [
    {
      "book._id": "1"  //bookID
    }
  ]
})

Sample Mongo Playground

参考文献

How the arrayFilters Parameter Works in MongoDB

票数 0
EN

Stack Overflow用户

发布于 2021-11-03 08:40:25

尝尝这个

代码语言:javascript
运行
复制
await model.updateOne(
    {
        _id: userID,
        "books._id": bookID,
    },
    { title: "" }
);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69821776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档