Как получить доступ к результату Neo4j при использовании UNWIND? - PullRequest
0 голосов
/ 11 января 2020

Я изучаю Go так же, как пишу свое первое Go приложение, которое использует Neo4j. Я буду ВНЕДРЯТЬ ломтики структур выделить. Документация в лучшем случае редкая, однако мне удалось отследить этот Gist, и я выполняю этот точный код, за исключением моих учетных данных Neo4j и запроса шифрования. https://gist.github.com/ali-ince/558d3c2a300d803ffc0bfdcbf166f3ff

Я изменил запрос Cypher, чтобы он возвращал всего пользователя, а не только его идентификатор.

"UNWIND $list AS item CREATE (u:User) SET u = item RETURN u"

Если я изменяю строку 82 для вывода значений:

fmt.Println(result.Record().Values())

Я получаю: [0xc0000a6ea0] [0xc0000a6fc0] [0xc0000a70e0] [0xc0000a7200] [0xc0000a7320] [0xc0000a7440] [0xc0000a7560]

Печать только .Record() дает мне:

&{[u] [0xc0000e07e0]} &{[u] [0xc0000e0930]} &{[u] [0xc0000e0a80]} &{[u] [0xc0000e0bd0]} &{[u] [0xc0000e0d20]} &{[u] [0xc0000e0e70]} &{[u] [0xc0000e0fc0]} Прежде всего, я хочу получить идентификатор узла Neo4j для каждого созданного узла. Я знаю, что могу вернуть только это, но хотел бы знать, как увидеть все свойства. Я не знаю, что делать с тем, что выше.

Спасибо!

1 Ответ

0 голосов
/ 12 января 2020

UNWIND преобразует список в отдельные строки. Если $list содержит 10 элементов, то создаются и возвращаются 10 пользователей. Каждый пользователь через ваш драйвер, является представлением узла. И поэтому ваши результаты будут содержать список neo4j.Node экземпляров, из которых вы сможете увидеть свойства et c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...