mongo更新嵌套结构中的内容

发布于 2022-09-04 20:02:59 字数 250 浏览 8 评论 0

图片描述一个questions表,存所有的问题,每一个question有一个answers的key,是个数组对象,每个answer有自己_id和一个up属性,现在想通过这个_id来更新up属性。
请问前辈们如何做?试了很多都没办法正确更新,谢谢qaq

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

唠甜嗑 2022-09-11 20:02:59
db.questions.update({
    "answers._id": ObjectId("58f575ca09c601c45f6c281a")
}, {
    $set: {
        "answers.$.up": 1
    }
});

注意$运算符,我们叫它Positional Operator,更多内容请看链接。

金兰素衣 2022-09-11 20:02:59

我觉得你不应该把数据表嵌套这么深,一般建一个关系表我觉得更合理

失与倦" 2022-09-11 20:02:59

可以的 假设你知道要修改的answer在这个answers数组中的索引 你可以用question.answers.index.up来更新,现在不知道这个索引,你可以用$来占位,Filter用{answers._id:123456} update用{answers.$.up:321}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文