2014-12-22 8 views
3

에지 쿼리를 사용하여 범위 쿼리를 수행 할 수 있습니까?에지 쿼리 범위 쿼리

나는 collection이 실제로 Edge 인 "collection.range (attribute, left, right)"를하고 있습니다.

그리고 ArangoDB 2.3.3 (Win64)에서 "구현되지 않았습니다"오류가 발생했습니다.

답변

5

예, 가장자리 컬렉션도 가능합니다. 범위 쿼리를 실행하려는 특성에 대한 skiplist 인덱스 만 있으면됩니다. 다음은이를 데모하는 예입니다.

/* create some vertices */ 
var vertices = db._create("vertices"); 
for (var i = 0; i < 100; ++i) { 
    vertices.save({ _key: "v" + i }); 
} 

/* create some edges */ 
var edges = db._createEdgeCollection("edges"); 
for (var i = 0; i < 10; ++i) { 
    edges.save("vertices/" + i, "vertices/" + i, { value: i }); 
} 

/* create the index */ 
edges.ensureSkiplist("value"); 

/* run the range query */ 
edges.range("value", 7, 23).toArray(); 

인덱스가없는 경우 실제로 "구현되지 않음"이 throw 될 수 있습니다.

+1

https://github.com/triAGENS/ArangoDB/commit/b3fc335e3dc3dfc97b7df6e951482cc681625980에서 오류 메시지를 조정했습니다. "구현되지 않음"은별로 유익하지 않을 수 있습니다. – stj