J'ai un document qui contient plusieurs niveaux de hiérarchie. Quelque chose comme ceci :
{
"id": "520707438",
"pageURIHash": "3988665684",
"children": [],
"parentId": null,
"content": "Here is a parent comment"
}
Le tableau des enfants peut contenir d'autres commentaires d'enfants sous forme d'objets JSON, et chacun des enfants peut à son tour avoir d'autres enfants. Il s'agit donc d'une structure fortement imbriquée.
Supposons maintenant que je veuille ajouter un commentaire enfant à un commentaire avec ID
comme 123456745
. Je suppose que je connais le commentaire du niveau racine (afin de pouvoir utiliser la fonction USE KEYS
dans mon N1ql
). Comment extraire les children
correspondant au commentaire avec cet identifiant particulier et y ajouter un nouveau commentaire ? Je pourrais utiliser l'API de sous-document, mais elle exige que je connaisse le chemin d'accès, et dans ce cas, je ne le connais pas.
J'ai fait quelques recherches et j'ai trouvé cette question :
"UPDATE default d use keys \"" + comment.getRootCommentId()
+ "\" SET (??? How do I get the existing array and append to it) FOR p WITHIN d.children WHEN p.id = \"" + comment.getId() + "\" END";
Merci beaucoup !