使用Edge进行范围查询

时间:2014-12-22 12:29:18

标签: arangodb

是否可以针对Edge进行范围查询?

我正在做“collection.range(属性,左,右)”,其中集合实际上是边缘。

我在ArangoDB 2.3.3(Win64)上遇到“未实现”错误。

1 个答案:

答案 0 :(得分:5)

是的,也可以用于边缘集合。 所需要的只是要在其上运行范围查询的属性的跳转列表索引。以下是演示它的示例:

/* 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();

如果没有索引,实际上&#34;未实现&#34;可能会被扔掉。