我在我的桶中有一个包含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
你是否总是从1个单一文件开始连接?如果是这样,为什么不执行k/v操作而不是N1QL查询?您将获得更多的控制权,与您获取B文档的订单上的JOIN ... –