-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
131 lines (89 loc) · 3.05 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
NAME
ArangoDB - ArangoDB client for Perl
SYNOPSIS
use ArangoDB;
my $db = ArangoDB->new(
host => 'localhost',
port => 8529,
keep_alive => 1,
);
# Find or create collection
my $foo = $db->('foo');
# Create new document
$foo->save({ x => 42, y => { a => 1, b => 2, } });
$foo->save({ x => 1, y => { a => 1, b => 10, } });
$foo->name('new_name'); # rename the collection
# Create hash index.
$foo->ensure_hash_index([qw/x y/]);
# Simple query
my $cursor = $db->('new_name')->by_example({ b => 2 });
while( my $doc = $cursor->next ){
# do something
}
# AQL
my $cursor2 = $db->query(
'FOR u IN users FILTER u.age > @age SORT u.name ASC RETURN u'
)->bind( { age => 19 } )->execute();
my $docs = $cursor2->all;
DESCRIPTION
This module is an ArangoDB's REST API client for Perl.
ArangoDB is a universal open-source database with a flexible data model
for documents, graphs, and key-values.
More information: <http://www.arangodb.org/>
SUPPORT API VERSION
This supports ArangoDB API implementation 1.01.
METHODS
new($options)
Constructor.
$options is HASH reference.The attributes of $options are:
host
Hostname or IP address of ArangoDB server.
Default: localhost
port
Port number of ArangoDB server.
Default: 8529
timeout
Seconds of HTTP connection timeout.
Default: 300
keep_alive
If it is true, use HTTP Keep-Alive connection.
Default: false
auth_type
Authentication method. Supporting "Basic" only.
auth_user
User name for authentication
auth_passwd
Password for authentication
proxy
Proxy url for HTTP connection.
inet_aton
A callback function to customize name resolution. Takes two
arguments: ($hostname, $timeout_in_seconds).
See Furl::HTTP.
collection($name)
Get or create a collection based on $name. Returns instance of
ArangoDB::Collection.
If the Collection $name does not exist, Create it.
There is shorthand method for get collection instance.
my $collection = $db->('collection-name');
create($name)
Create new collection. Returns instance of ArangoDB::Collection.
find($name)
Get a Collection based on $name. Returns instance of
ArangoDB::Collection.
If the collection does not exist, returns "undef".
collections()
Get all collections. Returns ARRAY reference.
query($query)
Get AQL statement handler. Returns instance of ArangoDB::Statement.
my $sth = $db->query('FOR u IN users FILTER u.age > @age SORT u.name ASC RETURN u');
SEE ALSO
ArangoDB websie <http://www.arangodb.org/>
DEVELOPMENT
Repository
<https://github.com/hideo55/p5-ArangoDB>
AUTHOR
Hideaki Ohno <hide.o.j55 {at} gmail.com>
LICENSE
This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.