484
技術社區[雲棲]
Arangodb簡介
Arangodb官網:https://www.arangodb.com/
GitHub開源代碼:https://github.com/arangodb/arangodb-java-driver
Maven依賴配置:
<dependencies>
<dependency>
<groupId>com.arangodb</groupId>
<artifactId>arangodb-java-driver</artifactId>
<version>4.2.2</version>
</dependency>
</dependencies>
建立連接
ArangoDB arangoDB = new ArangoDB.Builder()
.host("127.0.0.1", 8529)
.user("myuser")
.password("mypassword")
.useProtocol(Protocol.VST)
.build();
Database操作
創建數據庫:
arangoDB.createDatabase("myDatabase");
刪除數據庫:
arangoDB.db("myDatabase").drop();
Collection操作
創建集合:
arangoDB.db("myDatabase").createCollection("myCollection", null);
清空集合數據:
arangoDB.db("myDatabase").collection("myCollection").truncate();
刪除集合:
arangoDB.db("myDatabase").collection("myCollection").drop();
Document操作
支持三種類型的數據作為Arangodb中的文檔: Java POJO、VelocyPack、Json字符串,下麵以Java POJO為例
定義文檔Java POJO對象:
public class User {
private String _key;
private String name;
private int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
public User() {
}
/*
* + getter and setter
*/
}
插入單條文檔:
User user = new User("zhangsan", 20);
user.set_key("001");
arangoDB.db("myDatabase").collection("myCollection").insertDocument(user);
注:也可以不設置_key值,則係統會自動生成一個key
批量插入文檔:
Collection<User> documents = new ArrayList<User>();
User user1 = new User("zhangSan", 20);
User user2 = new User("liSi", 21);
User user3 = new User("wangWu", 22);
documents.add(user1);
documents.add(user2);
documents.add(user3);
arangoDB.db("myDatabase").collection("myCollection").insertDocuments(documents);
修改文檔:
User user = new User("zhangsan1", 201);
user.set_key("001");
arangoDB.db("myDatabase").collection("myCollection").updateDocument(user.get_key(),user);
修改和替換的區別:
修改:隻會修改提供的字段,替換:會將提供的字段替換原有的整個文檔,假設原有文檔內容為:
{
"age": 20,
"name": "zhangsan"
}
修改:
arangoDB.db("myDatabase").collection("myCollection").updateDocument(user.get_key(),"{\"weight\":130}");
結果新增了一個字段:
{
"age": 20,
"name": "zhangsan",
"weight": 130
}
替換:
arangoDB.db("myDatabase").collection("myCollection").replaceDocument(user.get_key(),"{\"weight\":130}");
結果原有文檔中的所有內容被替換成一個字段:
{
"weight": 130
}
刪除文檔:
arangoDB.db("myDatabase").collection("myCollection").deleteDocument(user.get_key());
文檔讀取:
讀取成json字符串:
String json = arangoDB.db("myDatabase").collection("myCollection").getDocument("001", String.class);
讀取成Java POJO對象:
User user = arangoDB.db("myDatabase").collection("myCollection").getDocument("001", User.class);
使用_id讀取:
String json = arangoDB.db("myDatabase").getDocument("myCollection/001", String.class);
最後更新:2017-11-03 16:34:21