У меня есть документ, который содержит несколько уровней иерархии.Примерно так:
{
"id": "520707438",
"pageURIHash": "3988665684",
"children": [],
"parentId": null,
"content": "Here is a parent comment"
}
У дочернего массива могут быть другие дочерние комментарии в виде объектов JSON, и у каждого дочернего по очереди могут быть другие дочерние.Таким образом, это формирует вложенную структуру.
Теперь предположим, что я хочу добавить дочерний комментарий к комментарию с ID
как 123456745
.Я предполагаю, что знаю комментарий корневого уровня (чтобы я мог использовать предложение USE KEYS
в своем запросе N1ql
).Как извлечь массив children
, соответствующий комментарию с этим конкретным идентификатором, и добавить к нему новый комментарий?Я мог бы использовать API поддокументов, но он требует, чтобы я знал путь, и в этом случае я его не знаю.
Я провел небольшое исследование и пришел к следующему запросу:
"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";
Большое спасибо !!