В моем предыдущем примере я имел этот запросNeo4j камень - Запрос от объекта массива
current_user.friends.events(:event, :rel).where("rel.admin = {admin_p} AND event.detail = {detail_p}").params(admin_p: true, detail_p: true).pluck(:event)
current_user.friends.events
приносит мне до событий, чтобы продолжить свою цепь, но делает эту работу, если у меня уже есть объект который содержит массив событий?
В моем примере я пытаюсь использовать геокодер для приближения.
У меня есть мой пользователь и события, которые геокодированы.
Geocoder может сделать что-то вроде этого
Venue.near([40.71, 100.23], 20)
# найти все OBJS в пределах 20 миль
Так что я могу по существу найти все события и хранить его в объекте. Теперь я могу использовать запрос neo4j для фильтрации этого объекта?
например.
array_object(:event, :rel).where("rel.admin = {admin_p} AND event.detail = {detail_p}").params(admin_p: true, detail_p: true).pluck(:event)
Даже если это работает, есть альтернативный способ сделать это?
Могу ли я продолжить эту цепочку с помощью запросов cypher или это похоже на 1 или другое? например 'current_user.friends.events (: e,: rel) .where (neo_id: array_object.map {| e | e.neo_id}," rel.admin = {admin_p} И event.detail = {detail_p} "). params (admin_p: true, detail_p: true)) ' Это выглядит как беспорядок для меня, но я не могу его протестировать, пока не исправлю мою проблему входа (последний вопрос) – Clam
Вы можете делать все, что хотите, это QueryProxy объект. Если вы начнете использовать основную ветвь, вы можете записать ее как 'current_user.friends.events.where (neo_id: array_object.map {| e | e.neo_id}, detail: true) .rel_where (admin: true)'. Не так грязно. – subvertallchris
Я не мог заставить его работать с neo_id, но я сделал это с uuid. neo_id дает мне 'undefined method 'to_i' для [14, 15, 17]: Array' to_i находится внутри карты методов? в чем разница между neo_id и uuid? – Clam