ArangoDB v3.12 is under development and not released yet.

This documentation is not final and potentially incomplete.

The view object

The JavaScript API returns view objects when you use the following methods of the db object from the @arangodb module:

  • db._createView(...)
  • db._views()
  • db._view(...)

Square brackets in function signatures denote optional arguments.

Methods

view.name()

Returns the name of the View.

Examples

Get View name:

arangosh> v = db._view("demoView");
arangosh> v.name();
Show execution results
Hide execution results
[ArangoView 101, "demoView" (type arangosearch)]
demoView

view.type()

Returns the type of the View.

Examples

Get View type:

arangosh> v = db._view("demoView");
arangosh> v.type();
Show execution results
Hide execution results
[ArangoView 101, "demoView" (type arangosearch)]
arangosearch

view.properties(new-properties [, partialUpdate])

view.properties()

Returns the properties of the View. The format of the result is specific to each of the supported View Types.

Examples

Get View properties:

arangosh> v = db._view("demoView");
arangosh> v.properties();
Show execution results
Hide execution results
[ArangoView 101, "demoView" (type arangosearch)]
{ 
  "writebufferSizeMax" : 33554432, 
  "writebufferIdle" : 64, 
  "storedValues" : [ ], 
  "consolidationPolicy" : { 
    "type" : "tier", 
    "segmentsBytesFloor" : 2097152, 
    "segmentsBytesMax" : 5368709120, 
    "segmentsMax" : 10, 
    "segmentsMin" : 1, 
    "minScore" : 0 
  }, 
  "writebufferActive" : 0, 
  "links" : { 
  }, 
  "commitIntervalMsec" : 1000, 
  "consolidationIntervalMsec" : 1000, 
  "optimizeTopK" : [ ], 
  "cleanupIntervalStep" : 2, 
  "primarySort" : [ ], 
  "primarySortCompression" : "lz4" 
}

view.properties(new-properties, partialUpdate)

Modifies the properties of the view. The format of the result is specific to each of the supported View Types.

partialUpdate is an optional Boolean parameter (true by default) that determines how the new-properties object is merged with current View properties (adds or updates new-properties properties to current if true replaces all properties if false).

For the available properties of the supported View types, see:

Examples

Modify arangosearch View properties:

arangosh> v = db._view("example");
arangosh> v.properties();
........> // set cleanupIntervalStep to 12
arangosh> v.properties({cleanupIntervalStep: 12});
........> // add a link
arangosh> v.properties({links: {demo: {}}})
........> // remove a link
arangosh> v.properties({links: {demo: null}})
Show execution results
Hide execution results
[ArangoView 84490, "example" (type arangosearch)]
{ 
  "writebufferSizeMax" : 33554432, 
  "writebufferIdle" : 64, 
  "storedValues" : [ ], 
  "consolidationPolicy" : { 
    "type" : "tier", 
    "segmentsBytesFloor" : 2097152, 
    "segmentsBytesMax" : 5368709120, 
    "segmentsMax" : 10, 
    "segmentsMin" : 1, 
    "minScore" : 0 
  }, 
  "writebufferActive" : 0, 
  "links" : { 
  }, 
  "commitIntervalMsec" : 1000, 
  "consolidationIntervalMsec" : 1000, 
  "optimizeTopK" : [ ], 
  "cleanupIntervalStep" : 2, 
  "primarySort" : [ ], 
  "primarySortCompression" : "lz4" 
}
{ 
  "cleanupIntervalStep" : 12, 
  "commitIntervalMsec" : 1000, 
  "consolidationIntervalMsec" : 1000, 
  "consolidationPolicy" : { 
    "type" : "tier", 
    "segmentsBytesFloor" : 2097152, 
    "segmentsBytesMax" : 5368709120, 
    "segmentsMax" : 10, 
    "segmentsMin" : 1, 
    "minScore" : 0 
  }, 
  "optimizeTopK" : [ ], 
  "primarySort" : [ ], 
  "primarySortCompression" : "lz4", 
  "storedValues" : [ ], 
  "writebufferActive" : 0, 
  "writebufferIdle" : 64, 
  "writebufferSizeMax" : 33554432, 
  "links" : { 
  } 
}
{ 
  "cleanupIntervalStep" : 12, 
  "commitIntervalMsec" : 1000, 
  "consolidationIntervalMsec" : 1000, 
  "consolidationPolicy" : { 
    "type" : "tier", 
    "segmentsBytesFloor" : 2097152, 
    "segmentsBytesMax" : 5368709120, 
    "segmentsMax" : 10, 
    "segmentsMin" : 1, 
    "minScore" : 0 
  }, 
  "optimizeTopK" : [ ], 
  "primarySort" : [ ], 
  "primarySortCompression" : "lz4", 
  "storedValues" : [ ], 
  "writebufferActive" : 0, 
  "writebufferIdle" : 64, 
  "writebufferSizeMax" : 33554432, 
  "links" : { 
    "demo" : { 
      "analyzers" : [ 
        "identity" 
      ], 
      "fields" : { 
      }, 
      "includeAllFields" : false, 
      "storeValues" : "none", 
      "trackListPositions" : false 
    } 
  } 
}
{ 
  "cleanupIntervalStep" : 12, 
  "commitIntervalMsec" : 1000, 
  "consolidationIntervalMsec" : 1000, 
  "consolidationPolicy" : { 
    "type" : "tier", 
    "segmentsBytesFloor" : 2097152, 
    "segmentsBytesMax" : 5368709120, 
    "segmentsMax" : 10, 
    "segmentsMin" : 1, 
    "minScore" : 0 
  }, 
  "optimizeTopK" : [ ], 
  "primarySort" : [ ], 
  "primarySortCompression" : "lz4", 
  "storedValues" : [ ], 
  "writebufferActive" : 0, 
  "writebufferIdle" : 64, 
  "writebufferSizeMax" : 33554432, 
  "links" : { 
  } 
}

Add and remove inverted indexes from a search-alias View:

arangosh> var v = db._view("example");
arangosh> v.properties();
arangosh> v.properties({ indexes: [
........>   { collection: "coll", index: "inv1", operation: "del" },
........>   { collection: "coll", index: "inv3" }
........> ] });
Show execution results
Hide execution results
{ 
  "indexes" : [ 
    { 
      "collection" : "coll", 
      "index" : "inv1" 
    }, 
    { 
      "collection" : "coll", 
      "index" : "inv2" 
    } 
  ] 
}
{ 
  "indexes" : [ 
    { 
      "collection" : "coll", 
      "index" : "inv2" 
    }, 
    { 
      "collection" : "coll", 
      "index" : "inv3" 
    } 
  ] 
}

view.rename(new-name)

Renames a view using the new-name. The new-name must not already be used by a different view or collection in the same database. new-name must also be a valid view name. For information about the naming constraints for Views, see View names.

If renaming fails for any reason, an error is thrown.

The rename method is not available in clusters.

Examples

arangosh> v = db._createView("example", "arangosearch");
arangosh> v.name();
arangosh> v.rename("exampleRenamed");
arangosh> v.name();
Show execution results
Hide execution results
[ArangoView 84526, "example" (type arangosearch)]
example
exampleRenamed

view.drop()

Drops a View and all its data.

Examples

Drop a View:

arangosh> v = db._createView("example", "arangosearch");
........> // or
arangosh> v = db._view("example");
arangosh> v.drop();
arangosh> db._view("example");
Show execution results
Hide execution results
[ArangoView 84483, "example" (type arangosearch)]
[ArangoView 84483, "example" (type arangosearch)]
null