2017-09-21 12 views
0

배열 (다른 여러 키와 함께)이 포함 된 couchbase 문서가 있습니다. N1QL 쿼리를 사용하여이 배열의 요소 순서를 업데이트 할 수 있습니까? 예를couchbase 문서에서 N1QL을 사용하여 배열의 요소 순서를 업데이트하는 방법

{ 
    networkList: [ 
     {'name': 'network1'}, 
     {'name': 'network2'}, 
     {'name': 'network3'} 
    ] 
} 

에 대한

{ 
    networkList: [ 
     {'name': 'network2'}, 
     {'name': 'network1'}, 
     {'name': 'network3'} 
    ] 
} 

참고가된다 : 나는 목록을 정렬하고 싶지 않아요. 난 단지 주어진 요소의 위치를 ​​바꾸고 싶다. 예를 들어 위의 예에서 두 번째 요소를 첫 번째 위치로 이동시킵니다. 미리

감사

+0

배열 기능을 확인하십시오. https://developer.couchbase.com/documentation/server/current/n1ql/n1ql-language- 참조/arrayfun.html ARRAY_INSERT (ARRAY_REMOVE (networkList, { 'name': 'network2'}), 0, { 'name': 'network2'}) – vsr

+0

제안 해 주셔서 감사합니다. 유즈 케이스는 여러 요소에 대해 특정 요소 (3 번째 요소를 말하게 할 수 있음)를 특정 위치 (1 번째를 말함)로 이동해야한다는 것입니다. 요소는 개체이며 다른 문서에 대해 서로 다른 키 값 쌍을 가질 수 있으므로 쿼리의 값을 하드 코딩 할 수 없습니다. 배열 인덱스와 함께 사용 해보겠습니다. 작동하는지 봅시다. – panghal0

+1

ARRAY_INSERT (ARRAY_REMOVE (networkList, networkList [3]), 0, networkList [3] 이 일이있어. 답으로 게시 해 주시겠습니까?이 페이지에서 유사한 유스 케이스와 토지를 가진 사람들을 답변으로 검색하는 데 도움이 될 수 있습니까? – vsr

답변

1

REMOVE 주어진 위치에서 배열 요소 아래처럼 원하는 위치에 삽입한다. ARRAY_INSERT (ARRAY_REMOVE (networkList, networkList [3]), 0, networkList [3])