Habituellement, j'évite de poser une nouvelle question car je trouve toujours une réponse «assez proche» à mon problème.MongoDB met à jour un élément de tableau dans un index spécifique en utilisant le pilote Java
Mais cette fois j'ai étonnamment une question fondamentale et directe - sans aucun plomb.
J'ai un document MongoDB simple qui contient deux tableaux:
Le 1er contenant trois numéros (ints) - représentent chacun un numéro de code d'une question sélectionnée (prédéfinie). Le 2nd contenait 3 Strings - ce sont les réponses données par l'utilisateur à ces trois questions correspondantes.
Par exemple, disons que sujet le code 12 est - « Quelle est votre 1er nom du chien? » Et la réponse de l'utilisateur était: « hérissés », etc ...
Alors je me retrouve avec quelque chose comme:
{
"_id" : ObjectId("..."),
"questionCodesArray" : [
12,
56,
3
],
"answersArray" : [
"Spiky",
"go swimming",
"blabla.."
]
}
maintenant, je voudrais être en mesure de permettre aux utilisateurs de changer leur esprit et choisir une autre question et fournir une réponse différente à elle.
Pour cela, je dois avoir que l'indice de mon élément et l'accès via cet indice pour le changer en utilisant update()
ou findAndModify()
[ou toute autre méthode] et toutes les réponses sont là-bas « Key- style de valeur "qui n'est pas nécessaire.
Dans Java simple, je l'aurais fait tout simplement quelque chose comme:
questionsCodesArry[index] = newValue;
et answersArray[index] = newAnswerString;
Toutes mes tentatives d'écrire une requête de descente pour faire cette simple mise à jour indicielle ont échoué.
Toute aide sera appréciée.
Merci.
Il devrait être plus facile à maintenir si vous avez un tableau qui se fonde à la fois les questions et les réponses – barbakini