fastango
supercharged arangodb poc client
impelentation status
drawbacks
- not the full http api is implemented
- all request go into the same queue. on socket error this queue will resubmited to the db -> split queue to pipelined an non pipelined requests
- no cursor iteration (possbile when async functions land in in ES7)
initialize client
parser = new require 'fastango/parser' 'IP'PORTrequire'fastango/fastango' parser'_system' if status >= 400 'some error' return 'now you can use fastango'
database
_use
fastango_use 'myDb' if status >= 400 'some error'
Change the database. Note: the old fastango object points to the old db. You have to use the newly returned fastango object.
collections
truncate
fastangotestCollectiontruncate if status >= 400 'some error'
drop
fastangotestCollectiondrop if status >= 400 'some error'
_createDocumentCollection
fastango_createDocumentCollection 'NAME'options if status >= 400 'some error'
for options see https://docs.arangodb.com/HttpCollection/Creating.html
documents
save
fastangotestCollectionsave JSONstrinigfykey:'value' if status >= 400 'some error'
update
fastangotestCollectionupdate '_key'JSONstrinigfykey:'value'options if status >= 400 'some error'
for options (optional) see https://docs.arangodb.com/HttpDocument/WorkingWithDocuments.html (Patch document)
document
fastangotestCollectiondocument '_key' if status >= 400 'some error'
count
fastangotestCollectioncount if status >= 400 'some error'
misc
_query
fastango_query 'FOR doc IN docs RETURN doc._key'bindVarsoptions if status >= 400 'some error' return cursorall if status >= 400 'some error'
for options see https://docs.arangodb.com/HttpAqlQueryCursor/AccessingCursors.html example:
fastango_query 'FOR doc IN docs RETURN doc._key'fullCount:truemaxPlans:1
for the moment only cursor.all
is supported.
_transaction
fastango_transaction params: a: 4 collections: 'col1''col2'| # optional read: 'col1''col2' write: 'col1''col2' waitForSync: true|false # optional lockTimeout: UNUMBER # optional # the action function return paramsa if status >= 400 'some error'