Maison > Questions et réponses > le corps du texte
一个questions表,存所有的问题,每一个question有一个answers的key,是个数组对象,每个answer有自己_id和一个up属性,现在想通过这个_id来更新up属性。
请问前辈们如何做?试了很多都没办法正确更新,谢谢qaq
怪我咯2017-05-02 09:28:29
db.questions.update({
"answers._id": ObjectId("58f575ca09c601c45f6c281a")
}, {
$set: {
"answers.$.up": 1
}
});
Notez l'opérateur $
, nous l'appelons opérateur positionnel, veuillez consulter le lien pour plus d'informations.
滿天的星座2017-05-02 09:28:29
Je pense qu'il ne faut pas imbriquer la table de données si profondément. En général, je pense qu'il est plus raisonnable de construire une table relationnelle
过去多啦不再A梦2017-05-02 09:28:29
D'accord, en supposant que vous connaissez l'index de la réponse que vous souhaitez modifier dans le tableau des réponses, vous pouvez utiliser question.answers.index.up pour le mettre à jour. Si vous ne connaissez pas l'index maintenant, vous pouvez utiliser $. pour placer l'espace réservé et utilisez la mise à jour {answers for Filter ._id:123456} en utilisant {answers.$.up:321}