Я все еще совершенно новый, поэтому я просто зайду к делу.Orientdb - где предложение с несколькими краями
В нашем приложении есть заметки, которые могут совместно использоваться пользователями и сохраняться в папках. Отдельная заметка, очевидно, может быть в нескольких папках (которые не могут использоваться совместно). До сих пор для отображения заметок в папке мы использовали этот запрос:
(select expand(both(\'InFolder\')) from @folder_rid)
Но сейчас мы разрабатываем некоторые «продвинутые фильтры», где мы хотим показать заметки, которые находятся внутри определенной папки или те ноты, которые не находятся в в . Заметки могут быть помечены (по одной метке), так что это было довольно легко, используя «где положение»
SELECT FROM (select expand(both(\'CanView\')) from @user_rid) where out(\'HasTag\')[email protected] = @tag_rid
или
SELECT FROM (select expand(both(\'CanView\')) from @user_rid) where out(\'HasTag\')[email protected] <> @tag_rid
И теперь проблема. Поскольку примечание может быть сохранено в нескольких папках выше, подход не работает. Она работает, когда я указываю на какую позицию в этом массиве ребер целевая папка должна быть (?):
SELECT FROM (select expand(both(\'CanView\')) from @user_rid) where out(\'InFolder\')[0][email protected] = @folder_rid
SELECT FROM (select expand(both(\'CanView\')) from @user_rid) where out(\'InFolder\')[1][email protected] = @folder_rid
Но, очевидно, это не способ сделать это. я нашел (http://orientdb.com/orientdb-improved-sql-filtering/), что я могу использовать диапазоны, чтобы сделать это, как
SELECT FROM (select expand(both(\'CanView\')) from @user_rid) where out(\'InFolder\')[0-2][email protected] = @folder_rid
Но он просто вычисляет значение внутри квадратных скобок (СОО). Я также пробовал с [1,2,3] и использовал информацию от https://code.google.com/p/orient/wiki/Document_Field_Part , но я не мог заставить его работать.
Каков правильный синтаксис для этого или весь этот подход просто плох. Если проблема в том, что это хороший способ сделать это? Спасибо за помощь и извините за все ошибки, которые я сделал в грамматике.
благодарит Бога, как один час назад я получаю подобный метод, но как-то я просто застрял в этих диапазонах и закончилась 'WHERE Ушло («InFolder») [0-99]' Что на первый взгляд имеют серьезный недостаток ;) Еще раз, спасибо! –
Vini
Рад, что я мог помочь :) – vitorenesduarte