mirror of https://gitee.com/bigwinds/arangodb
Finishing touches for document API in JS, collection methods.
Add changes from 3.0 to 2.8.
This commit is contained in:
parent
2db8fc4174
commit
abebe4b281
|
@ -109,7 +109,7 @@ in a single command is to use JSON arrays of objects in the place of a
|
||||||
single document. As a consequence, document keys, handles and revisions
|
single document. As a consequence, document keys, handles and revisions
|
||||||
for preconditions have to be supplied embedded in the individual documents
|
for preconditions have to be supplied embedded in the individual documents
|
||||||
given. Multiple document operations are restricted to a single document
|
given. Multiple document operations are restricted to a single document
|
||||||
or edge collections.
|
or edge collection.
|
||||||
See the [API descriptions for collection objects](DocumentMethods.md)
|
See the [API descriptions for collection objects](DocumentMethods.md)
|
||||||
for details. Note that the [API for database objects](DatabaseMethods.md)
|
for details. Note that the [API for database objects](DatabaseMethods.md)
|
||||||
do not offer these operations.
|
do not offer these operations.
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
<!-- js/common/modules/@arangodb/arango-collection-common.js-->
|
<!-- js/common/modules/@arangodb/arango-collection-common.js-->
|
||||||
|
|
||||||
|
|
||||||
constructs an all query for a collection
|
|
||||||
`collection.all()`
|
`collection.all()`
|
||||||
|
|
||||||
Fetches all documents from a collection and returns a cursor. You can use
|
Fetches all documents from a collection and returns a cursor. You can use
|
||||||
|
@ -51,7 +50,6 @@ Use *limit* to restrict the documents:
|
||||||
<!-- js/common/modules/@arangodb/arango-collection-common.js-->
|
<!-- js/common/modules/@arangodb/arango-collection-common.js-->
|
||||||
|
|
||||||
|
|
||||||
constructs a query-by-example for a collection
|
|
||||||
`collection.byExample(example)`
|
`collection.byExample(example)`
|
||||||
|
|
||||||
Fetches all documents from a collection that match the specified
|
Fetches all documents from a collection that match the specified
|
||||||
|
@ -147,7 +145,6 @@ Use *next* to loop over all documents:
|
||||||
<!-- js/server/modules/@arangodb/arango-collection.js-->
|
<!-- js/server/modules/@arangodb/arango-collection.js-->
|
||||||
|
|
||||||
|
|
||||||
constructs a query-by-example for a collection
|
|
||||||
`collection.firstExample(example)`
|
`collection.firstExample(example)`
|
||||||
|
|
||||||
Returns some document of a collection that matches the specified
|
Returns some document of a collection that matches the specified
|
||||||
|
@ -180,7 +177,6 @@ As alternative you can supply an array of paths and values.
|
||||||
<!-- js/common/modules/@arangodb/arango-collection-common.js-->
|
<!-- js/common/modules/@arangodb/arango-collection-common.js-->
|
||||||
|
|
||||||
|
|
||||||
constructs a range query for a collection
|
|
||||||
`collection.range(attribute, left, right)`
|
`collection.range(attribute, left, right)`
|
||||||
|
|
||||||
Returns all documents from a collection such that the *attribute* is
|
Returns all documents from a collection such that the *attribute* is
|
||||||
|
@ -231,7 +227,6 @@ Use *toArray* to get all documents at once:
|
||||||
<!-- js/common/modules/@arangodb/arango-collection-common.js-->
|
<!-- js/common/modules/@arangodb/arango-collection-common.js-->
|
||||||
|
|
||||||
|
|
||||||
constructs a closed range query for a collection
|
|
||||||
`collection.closedRange(attribute, left, right)`
|
`collection.closedRange(attribute, left, right)`
|
||||||
|
|
||||||
Returns all documents of a collection such that the *attribute* is
|
Returns all documents of a collection such that the *attribute* is
|
||||||
|
@ -277,7 +272,6 @@ Use *toArray* to get all documents at once:
|
||||||
<!-- js/server/modules/@arangodb/arango-collection.js-->
|
<!-- js/server/modules/@arangodb/arango-collection.js-->
|
||||||
|
|
||||||
|
|
||||||
returns any document from a collection
|
|
||||||
`collection.any()`
|
`collection.any()`
|
||||||
|
|
||||||
Returns a random document from the collection or *null* if none exists.
|
Returns a random document from the collection or *null* if none exists.
|
||||||
|
@ -287,7 +281,6 @@ Returns a random document from the collection or *null* if none exists.
|
||||||
<!-- arangod/V8Server/v8-vocbase.cpp -->
|
<!-- arangod/V8Server/v8-vocbase.cpp -->
|
||||||
|
|
||||||
|
|
||||||
counts the number of documents in a result set
|
|
||||||
`collection.count()`
|
`collection.count()`
|
||||||
|
|
||||||
Returns the number of living documents in the collection.
|
Returns the number of living documents in the collection.
|
||||||
|
@ -310,7 +303,6 @@ Returns the number of living documents in the collection.
|
||||||
<!-- js/server/modules/@arangodb/arango-collection.js-->
|
<!-- js/server/modules/@arangodb/arango-collection.js-->
|
||||||
|
|
||||||
|
|
||||||
converts collection into an array
|
|
||||||
`collection.toArray()`
|
`collection.toArray()`
|
||||||
|
|
||||||
Converts the collection into an array of documents. Never use this call
|
Converts the collection into an array of documents. Never use this call
|
||||||
|
@ -321,7 +313,6 @@ in a production environment.
|
||||||
<!-- arangod/V8Server/v8-vocbase.cpp -->
|
<!-- arangod/V8Server/v8-vocbase.cpp -->
|
||||||
|
|
||||||
|
|
||||||
looks up a document
|
|
||||||
`collection.document(object)`
|
`collection.document(object)`
|
||||||
|
|
||||||
The *document* method finds a document given an object `object`
|
The *document* method finds a document given an object `object`
|
||||||
|
@ -428,6 +419,9 @@ An error is raised if the handle is invalid:
|
||||||
@END_EXAMPLE_ARANGOSH_OUTPUT
|
@END_EXAMPLE_ARANGOSH_OUTPUT
|
||||||
@endDocuBlock documentsCollectionNameHandle
|
@endDocuBlock documentsCollectionNameHandle
|
||||||
|
|
||||||
|
!SUBSUBSECTION Changes in 3.0 from 2.8:
|
||||||
|
|
||||||
|
*document* can now query multiple documents with one call.
|
||||||
|
|
||||||
|
|
||||||
!SUBSECTION Exists
|
!SUBSECTION Exists
|
||||||
|
@ -472,19 +466,26 @@ members of the array and all results are returned in an array. If an error
|
||||||
occurs with any of the documents, the operation stops immediately returning
|
occurs with any of the documents, the operation stops immediately returning
|
||||||
only an error object.
|
only an error object.
|
||||||
|
|
||||||
|
!SUBSUBSECTION Changes in 3.0 from 2.8:
|
||||||
|
|
||||||
|
In the case of a revision mismatch *exists* now throws an error instead
|
||||||
|
of simply returning *false*. This is to make it possible to tell the
|
||||||
|
difference between a revision mismatch and a non-existing document.
|
||||||
|
|
||||||
|
*exists* can now query multiple documents with one call.
|
||||||
|
|
||||||
|
|
||||||
!SUBSECTION Lookup By Keys
|
!SUBSECTION Lookup By Keys
|
||||||
<!-- arangod/V8Server/v8-query.cpp-->
|
<!-- arangod/V8Server/v8-query.cpp-->
|
||||||
|
|
||||||
|
|
||||||
fetches multiple documents by their keys
|
|
||||||
`collection.documents(keys)`
|
`collection.documents(keys)`
|
||||||
|
|
||||||
Looks up the documents in the specified collection using the array of keys
|
Looks up the documents in the specified collection using the array of
|
||||||
provided. All documents for which a matching key was specified in the *keys*
|
keys provided. All documents for which a matching key was specified in
|
||||||
array and that exist in the collection will be returned.
|
the *keys* array and that exist in the collection will be returned. Keys
|
||||||
Keys for which no document can be found in the underlying collection are ignored,
|
for which no document can be found in the underlying collection are
|
||||||
and no exception will be thrown for them.
|
ignored, and no exception will be thrown for them.
|
||||||
|
|
||||||
This method is deprecated in favour of the array variant of *document*.
|
This method is deprecated in favour of the array variant of *document*.
|
||||||
|
|
||||||
|
@ -510,7 +511,6 @@ This method is deprecated in favour of the array variant of *document*.
|
||||||
<!-- arangod/V8Server/v8-vocbase.cpp -->
|
<!-- arangod/V8Server/v8-vocbase.cpp -->
|
||||||
|
|
||||||
|
|
||||||
insert a new document
|
|
||||||
`collection.insert(data)`
|
`collection.insert(data)`
|
||||||
|
|
||||||
Creates a new document in the *collection* from the given *data*. The
|
Creates a new document in the *collection* from the given *data*. The
|
||||||
|
@ -558,6 +558,11 @@ array. If an error occurs with any of the documents, the operation stops
|
||||||
immediately returning only an error object. The options behave exactly
|
immediately returning only an error object. The options behave exactly
|
||||||
as before.
|
as before.
|
||||||
|
|
||||||
|
!SUBSUBSECTION Changes in 3.0 from 2.8:
|
||||||
|
|
||||||
|
The options *silent* and *returnNew* are new. The method can now insert
|
||||||
|
multiple documents with one call.
|
||||||
|
|
||||||
|
|
||||||
**Examples**
|
**Examples**
|
||||||
|
|
||||||
|
@ -586,7 +591,6 @@ as before.
|
||||||
<!-- arangod/V8Server/v8-vocbase.cpp -->
|
<!-- arangod/V8Server/v8-vocbase.cpp -->
|
||||||
|
|
||||||
|
|
||||||
replaces a document
|
|
||||||
`collection.replace(selector, data)`
|
`collection.replace(selector, data)`
|
||||||
|
|
||||||
Replaces an existing document described by the *selector*, which must
|
Replaces an existing document described by the *selector*, which must
|
||||||
|
@ -683,12 +687,15 @@ Use a document handle:
|
||||||
@END_EXAMPLE_ARANGOSH_OUTPUT
|
@END_EXAMPLE_ARANGOSH_OUTPUT
|
||||||
@endDocuBlock documentsCollectionReplaceHandle
|
@endDocuBlock documentsCollectionReplaceHandle
|
||||||
|
|
||||||
|
!SUBSUBSECTION Changes in 3.0 from 2.8:
|
||||||
|
|
||||||
|
The options *silent*, *returnNew* and *returnOld* are new. The method
|
||||||
|
can now replace multiple documents with one call.
|
||||||
|
|
||||||
|
|
||||||
!SUBSECTION Update
|
!SUBSECTION Update
|
||||||
<!-- arangod/V8Server/v8-vocbase.cpp -->
|
<!-- arangod/V8Server/v8-vocbase.cpp -->
|
||||||
|
|
||||||
updates a document
|
|
||||||
`collection.update(selector, data)`
|
`collection.update(selector, data)`
|
||||||
|
|
||||||
Updates an existing document described by the *selector*, which must
|
Updates an existing document described by the *selector*, which must
|
||||||
|
@ -837,12 +844,15 @@ Patching array values:
|
||||||
@endDocuBlock documentsCollection_UpdateHandleArray
|
@endDocuBlock documentsCollection_UpdateHandleArray
|
||||||
|
|
||||||
|
|
||||||
|
!SUBSUBSECTION Changes in 3.0 from 2.8:
|
||||||
|
|
||||||
|
The options *silent*, *returnNew* and *returnOld* are new. The method
|
||||||
|
can now update multiple documents with one call.
|
||||||
|
|
||||||
|
|
||||||
!SUBSECTION Remove
|
!SUBSECTION Remove
|
||||||
<!-- arangod/V8Server/v8-vocbase.cpp -->
|
<!-- arangod/V8Server/v8-vocbase.cpp -->
|
||||||
|
|
||||||
removes a document
|
|
||||||
|
|
||||||
`collection.remove(selector)`
|
`collection.remove(selector)`
|
||||||
|
|
||||||
Removes a document described by the *selector*, which must be an object
|
Removes a document described by the *selector*, which must be an object
|
||||||
|
@ -879,6 +889,7 @@ boolean attributes:
|
||||||
- *returnOld*: If this flag is set to *true*, the complete previous
|
- *returnOld*: If this flag is set to *true*, the complete previous
|
||||||
revision of the document is returned in the output under the
|
revision of the document is returned in the output under the
|
||||||
attribute *old*.
|
attribute *old*.
|
||||||
|
- *silent*: If this flag is set to *true*, no output is returned.
|
||||||
|
|
||||||
`collection.remove(document-handle)`
|
`collection.remove(document-handle)`
|
||||||
|
|
||||||
|
@ -935,13 +946,18 @@ Remove a document with a conflict:
|
||||||
@END_EXAMPLE_ARANGOSH_OUTPUT
|
@END_EXAMPLE_ARANGOSH_OUTPUT
|
||||||
@endDocuBlock documentDocumentRemoveConflict
|
@endDocuBlock documentDocumentRemoveConflict
|
||||||
|
|
||||||
|
!SUBSUBSECTION Changes in 3.0 from 2.8:
|
||||||
|
|
||||||
|
The method now returns not only *true* but information about the removed
|
||||||
|
document(s). The options *silent* and *returnOld* are new. The method
|
||||||
|
can now remove multiple documents with one call.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
!SUBSECTION Remove By Keys
|
!SUBSECTION Remove By Keys
|
||||||
<!-- arangod/V8Server/v8-query.cpp-->
|
<!-- arangod/V8Server/v8-query.cpp-->
|
||||||
|
|
||||||
|
|
||||||
removes multiple documents by their keys
|
|
||||||
`collection.removeByKeys(keys)`
|
`collection.removeByKeys(keys)`
|
||||||
|
|
||||||
|
|
||||||
|
@ -979,7 +995,6 @@ This method is deprecated in favour of the array variant of *remove*.
|
||||||
<!-- js/common/modules/@arangodb/arango-collection-common.js-->
|
<!-- js/common/modules/@arangodb/arango-collection-common.js-->
|
||||||
|
|
||||||
|
|
||||||
removes documents matching an example
|
|
||||||
`collection.removeByExample(example)`
|
`collection.removeByExample(example)`
|
||||||
|
|
||||||
Removes all documents matching an example.
|
Removes all documents matching an example.
|
||||||
|
@ -1022,7 +1037,6 @@ removed.
|
||||||
<!-- js/common/modules/@arangodb/arango-collection-common.js-->
|
<!-- js/common/modules/@arangodb/arango-collection-common.js-->
|
||||||
|
|
||||||
|
|
||||||
replaces documents matching an example
|
|
||||||
`collection.replaceByExample(example, newValue)`
|
`collection.replaceByExample(example, newValue)`
|
||||||
|
|
||||||
Replaces all documents matching an example with a new document body.
|
Replaces all documents matching an example with a new document body.
|
||||||
|
@ -1068,7 +1082,6 @@ replaced.
|
||||||
<!-- js/common/modules/@arangodb/arango-collection-common.js-->
|
<!-- js/common/modules/@arangodb/arango-collection-common.js-->
|
||||||
|
|
||||||
|
|
||||||
partially updates documents matching an example
|
|
||||||
`collection.updateByExample(example, newValue)`
|
`collection.updateByExample(example, newValue)`
|
||||||
|
|
||||||
Partially updates all documents matching an example with a new document body.
|
Partially updates all documents matching an example with a new document body.
|
||||||
|
@ -1109,10 +1122,11 @@ updated.
|
||||||
|
|
||||||
Using this variant, the options for the operation can be passed using
|
Using this variant, the options for the operation can be passed using
|
||||||
an object with the following sub-attributes:
|
an object with the following sub-attributes:
|
||||||
- *keepNull*
|
|
||||||
- *waitForSync*
|
- *keepNull*
|
||||||
- *limit*
|
- *waitForSync*
|
||||||
- *mergeObjects*
|
- *limit*
|
||||||
|
- *mergeObjects*
|
||||||
|
|
||||||
|
|
||||||
**Examples**
|
**Examples**
|
||||||
|
@ -1132,7 +1146,6 @@ an object with the following sub-attributes:
|
||||||
!SUBSECTION Collection type
|
!SUBSECTION Collection type
|
||||||
|
|
||||||
|
|
||||||
returns the type of a collection
|
|
||||||
`collection.type()`
|
`collection.type()`
|
||||||
|
|
||||||
Returns the type of a collection. Possible values are:
|
Returns the type of a collection. Possible values are:
|
||||||
|
@ -1143,7 +1156,6 @@ Returns the type of a collection. Possible values are:
|
||||||
!SUBSECTION Get the Version of ArangoDB
|
!SUBSECTION Get the Version of ArangoDB
|
||||||
|
|
||||||
|
|
||||||
return the server version string
|
|
||||||
`db._version()`
|
`db._version()`
|
||||||
|
|
||||||
Returns the server version string. Note that this is not the version of the
|
Returns the server version string. Note that this is not the version of the
|
||||||
|
@ -1163,28 +1175,24 @@ database.
|
||||||
!SUBSECTION Misc
|
!SUBSECTION Misc
|
||||||
|
|
||||||
|
|
||||||
returns all edges connected to a vertex
|
|
||||||
`collection.edges(vertex-id)`
|
`collection.edges(vertex-id)`
|
||||||
|
|
||||||
Returns all edges connected to the vertex specified by *vertex-id*.
|
Returns all edges connected to the vertex specified by *vertex-id*.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
returns inbound edges connected to a vertex
|
|
||||||
`collection.inEdges(vertex-id)`
|
`collection.inEdges(vertex-id)`
|
||||||
|
|
||||||
Returns inbound edges connected to the vertex specified by *vertex-id*.
|
Returns inbound edges connected to the vertex specified by *vertex-id*.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
returns outbound edges connected to a vertex
|
|
||||||
`collection.outEdges(vertex-id)`
|
`collection.outEdges(vertex-id)`
|
||||||
|
|
||||||
Returns outbound edges connected to the vertex specified by *vertex-id*.
|
Returns outbound edges connected to the vertex specified by *vertex-id*.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
iterates over some elements of a collection
|
|
||||||
`collection.iterate(iterator, options)`
|
`collection.iterate(iterator, options)`
|
||||||
|
|
||||||
Iterates over some elements of the collection and apply the function
|
Iterates over some elements of the collection and apply the function
|
||||||
|
@ -1194,9 +1202,9 @@ as second argument.
|
||||||
|
|
||||||
*options* must be an object with the following attributes:
|
*options* must be an object with the following attributes:
|
||||||
|
|
||||||
- *limit* (optional, default none): use at most *limit* documents.
|
- *limit* (optional, default none): use at most *limit* documents.
|
||||||
|
|
||||||
- *probability* (optional, default all): a number between *0* and
|
- *probability* (optional, default all): a number between *0* and
|
||||||
*1*. Documents are chosen with this probability.
|
*1*. Documents are chosen with this probability.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
!CHAPTER Documents
|
!CHAPTER Documents
|
||||||
|
|
||||||
This is an introduction to ArangoDB's interface for documents to and how
|
This is an introduction to ArangoDB's interface for working with
|
||||||
handle documents from the JavaScript shell *arangosh* or with JavaScript
|
documents from the JavaScript shell *arangosh* or in JavaScript code in
|
||||||
code in the server. For other languages see the corresponding language
|
the server. For other languages see the corresponding language API.
|
||||||
API.
|
|
||||||
|
|
||||||
We begin with a
|
We begin with a
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue