У меня в моем ковше есть документ, содержащий список ID (childList). Я хотел бы запросить этот список, и сохранить результат заказа как в моем JSON. Мой запрос как (с помощью Java SDK):Как получить упорядоченные результаты от couchbase
String query = new StringBuilder().append("SELECT B.name, META(B).id as id ") .append("FROM
"+ bucket.name() +" A ") .append("USE KEYS $id ") .append("JOIN
"+ bucket.name() +" B ON KEYS ARRAY i FOR i IN A.childList end;").toString();
Этот запрос будет возвращать строки, которые я превратят в мой объект домена и создать список, как это:
n1qlQueryResult.allRows().forEach(n1qlQueryRow -> (add to return list) ...);
проблема заключается в выходной порядка важно.
Любые идеи?
спасибо.
Вы должны иметь возможность просто добавить предложение ORDER BY в конец вашего запроса: https://developer.couchbase.com/documentation/server/current/n1ql/n1ql-language-reference/orderby .html –
Список представляет собой список String. Назовем его chlidList. Мне нужно, чтобы childList [0] был первой и так далее. Если я буду использовать предложение ORDER BY, он будет упорядочен, используя порядок строк. –
user6479138
Вы всегда начинаете с одного документа для присоединения? Если да, почему бы не выполнить операции k/v вместо запроса N1QL? вы получите больше контроля против JOIN в том порядке, в котором вы получаете документы B ... –