Skip to content

arangodb/node-arangodb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Translation of ArangoDB JS API to Node.js and Typescript.

API Changes:

Changed

  • ArangoDatabase#_executeTransaction always stringifies action

    In ArangoDB this method would accept a function to be executed within the transaction. As the function is still executed inside ArangoDB while the surrounding code is executed in Node.js, the action parameter must always be converted to a string.

    Use the ArangoTransaction API (db._createTransaction) to avoid this issue.

  • ArangoCollection#recalculateCount() always returns true

    In ArangoDB this method would return a number when running ArangoDB in standalone mode and true when running in a cluster.

  • ArangoCollection#rename() no longer takes an optional second argument

    The second argument was undocumented and only intended for internal use.

  • ArangoCollection#count() no longer takes an optional argument

    The argument was undocumented and had no effect when running in standalone mode.

  • ArangoCollection#all() returns a cursor

    In ArangoDB this method previously returned an object wrapping an array cursor.

  • Methods returning cursors now return ArangoQueryStreamCursor instead of GeneralArrayCursor by default

    When using db._query or db._createStatement you can pass stream: false to get a GeneralArrayCursor instead. Note that array cursors will load all results into memory at once.

  • The request function is implemented using the fetch API, so the following options are no longer supported:

    • addContentLength
    • maxRedirects
    • sslProtocol
    • verifyCertificates
    • verifyDepth

Removed

ArangoDB-specific console methods

These methods are unnecessary in Node.js as the built-in console methods provide the same behavior.

  • console.errorLines()

    Use console.error() instead.

  • console.errorStack

    Use console.error() instead.

  • console.warnLines()

    Use console.warn() instead.

  • console.warnStack

    Use console.warn() instead.

  • console.infoLines()

    Use console.info() instead.

  • console.infoStack

    Use console.info() instead.

  • console.debugLines()

    Use console.debug() instead.

  • console.debugStack()

    Use console.debug() instead.

  • console.logLines()

    Use console.log() instead.

  • Internal console methods:

    • console.levelStack()
    • console.logLvlLines()
    • console.topic()
    • console.getline()

Database APIs

  • GeneralArrayCursor#execute()

    This method had no effect in normal use.

  • GeneralArrayCursor#_skip

    This property had no effect in normal use.

  • GeneralArrayCursor#_limit

    This property had no effect in normal use.

  • GeneralArrayCursor#_cached

    This property had no effect in normal use.

  • GeneralArrayCursor#_extra

    Use GeneralArrayCursor#getExtra() instead.

  • Internal ArangoDatabase methods:

    • ArangoDatabase#_createReplicatedLog()
    • ArangoDatabase#_currentWalFiles()
    • ArangoDatabase#_replicatedLog()
    • ArangoDatabase#_versionFilename()
  • ArangoDatabase#_explain()

    This method had no effect when used non-interactively.

    Use Statement#explain() instead.

  • ArangoDatabase#_profileQuery()

    This method had no effect when used non-interactively.

  • ArangoCollection#documents()

    Use ArangoCollection#document() instead.

  • ArangoCollection#toArray()

    This method was not recommended for production use. If you want to access all documents in a collection, you can use ArangoCollection#all() instead, which returns a streaming cursor instead of loading all documents into memory at once.

  • ArangoCollection#load() and ArangoCollection#unload()

    These methods should not have any effect in normal use.

  • Internal ArangoDatabase methods and properties:

    • ArangoDatabase#_endpoints()
  • Internal ArangoCollection methods and properties:

    • ArangoCollection#_binaryDocument()
    • ArangoCollection#_binaryInsert()
    • ArangoCollection#_id
    • ArangoCollection#_revisionTreeSummary()
    • ArangoCollection#estimatedSize()
    • ArangoCollection#globallyUniqueId()
    • ArangoCollection#path()
    • ArangoCollection#planId()
    • ArangoCollection#version()
  • Deprecated ArangoCollection index helpers (use ensureIndex instead):

    • ArangoCollection#lookupFulltextIndex()
    • ArangoCollection#lookupHashIndex()
    • ArangoCollection#lookupIndex()
    • ArangoCollection#lookupSkiplist()
    • ArangoCollection#lookupUniqueConstraint()
    • ArangoCollection#lookupUniqueSkiplist()
    • ArangoCollection#geo()
    • ArangoCollection#ensureFulltextIndex()
    • ArangoCollection#ensureGeoConstraint()
    • ArangoCollection#ensureGeoIndex()
    • ArangoCollection#ensureHashIndex()
    • ArangoCollection#ensureSkiplist()
    • ArangoCollection#ensureUniqueConstraint()
    • ArangoCollection#ensureUniqueSkiplist()
    • ArangoCollection#ensureVertexCentricIndex()
  • Deprecated ArangoCollection simple query methods (use AQL instead):

    • ArangoCollection#closedRange()
    • ArangoCollection#fulltext()
    • ArangoCollection#lookupByKeys()
    • ArangoCollection#iterate()
    • ArangoCollection#near()
    • ArangoCollection#range()
    • ArangoCollection#removeByKeys()
    • ArangoCollection#within()
    • ArangoCollection#withinRectangle()
  • Deprecated @arangodb/simple-query module

    Use AQL queries or the equivalent ArangoCollection methods instead.

Internal exports

  • Internals exposed by the @arangodb module:

    • checkParameter()
    • checkAvailableVersions()
    • defineModule()
    • enterpriseLicenseVisibility()
    • inspect()
    • output()
    • print()
    • printf()
    • printObject()
    • printTable()
    • sprintf()
    • stringPadding()
    • throwBadParameter()
    • throwFileNotFound()

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published