2016-12-15 8 views
0

키/속성 및 일부 값으로 정수/문자열로 이루어진 객체로 구성된 모음이 있습니다. 이처럼ArangoDB의 객체 속성으로 정렬

는 :

results 
-> '1' : 231.034 
-> '2' : 3267.123 
-> '3' : 235.23 

내가 쓸 때 :

"""FOR u IN collection 
RETURN u.results""" 

는이 같은 임의의 순서로 얻을, 나는에 따라으로 정렬하려면 어떻게

[{'3' : 235.23, '1' : 231.034, '2' : 3267.123}] 

자신의 속성?

내가 시도 :

"""FOR u IN collection 
SORT ATTRIBUTES(u.results) ASC 
RETURN u.results""" 

뿐만 아니라 다른 모든 조합 내가 가지고 올 수 있습니다.

답변

0
당신은 같은 것을 할 수있는 키를 기준으로 정렬하려면

키 값 객체는 정말 , 정렬 할 수 없습니다 :

원래 개체 :

{ 
    "results": { 
    "3": 235.23, 
    "2": 3267.123, 
    "1": 231.034 
    } 
} 

검색어 :

for u in @@collection 
    let keys = ATTRIBUTES(u.results) 
    //convert keys to sorted array 
    let sortedKeys = (for key in keys 
     sort key asc 
     return key 
    ) 

    //convert to key value tuples 
    let sortedObject = (
     for key in sortedKeys 
      return {[key] : u.results[key]} 
    ) 

    //merge to single document, can also do with zip 
    return {results : MERGE(sortedObject)} 

Out :

[ 
    { 
    "results": { 
     "1": 231.034, 
     "2": 3267.123, 
     "3": 235.23 
    } 
    } 
]