#orientdb
#orientdb
Вопрос:
У меня есть пользователи с друзьями:
User {
"@rid:": "#11:2"
...
friends: ["#61:1", "#61:2", "#61:3"]
}
...
User {
"@rid:": "#11:3"
...
friends: ["#61:2", "#61:3","#61:4"]
}
Как я могу найти общих друзей пользователей («#11:2», «#11:3») с osql?
Таким образом, запрос должен вернуться "#61:2", "#61:3"
.
Ответ №1:
Попробуйте это:
select from User where @rid in (select out() from User where @rid = "#11:2") and @rid in (select out() from User where @rid = "#11:3")
Надеюсь, это поможет
С уважением
Комментарии:
1. Окей, это работает. Но я думаю, что запрос
select out() from User where @rid = "#11:2"
лучше заменить наselect out() from #11:2
2. Я нажал «объяснить» в studio и вижу, что все документы читаются, но это накладные расходы. Вместо этого запроса я могу выбрать друзей из обоих пользователей и найти совместное вручную в коде моего приложения.