84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
一个questions表,存所有的问题,每一个question有一个answers的key,是个数组对象,每个answer有自己_id和一个up属性,现在想通过这个_id来更新up属性。请问前辈们如何做?试了很多都没办法正确更新,谢谢qaq
认证0级讲师
db.questions.update({ "answers._id": ObjectId("58f575ca09c601c45f6c281a") }, { $set: { "answers.$.up": 1 } });
注意$运算符,我们叫它Positional Operator,更多内容请看链接。
$
我觉得你不应该把数据表嵌套这么深,一般建一个关系表我觉得更合理
可以的 假设你知道要修改的answer在这个answers数组中的索引 你可以用question.answers.index.up来更新,现在不知道这个索引,你可以用$来占位,Filter用{answers._id:123456} update用{answers.$.up:321}
注意
$
运算符,我们叫它Positional Operator,更多内容请看链接。我觉得你不应该把数据表嵌套这么深,一般建一个关系表我觉得更合理
可以的 假设你知道要修改的answer在这个answers数组中的索引 你可以用question.answers.index.up来更新,现在不知道这个索引,你可以用$来占位,Filter用{answers._id:123456} update用{answers.$.up:321}