搜索

首页  >  问答  >  正文

node.js - mongo更新嵌套结构中的内容

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

PHP中文网PHP中文网2754 天前586

全部回复(3)我来回复

  • 怪我咯

    怪我咯2017-05-02 09:28:29

    db.questions.update({
        "answers._id": ObjectId("58f575ca09c601c45f6c281a")
    }, {
        $set: {
            "answers.$.up": 1
        }
    });
    

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

    回复
    0
  • 滿天的星座

    滿天的星座2017-05-02 09:28:29

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

    回复
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-02 09:28:29

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

    回复
    0
  • 取消回复