閱讀484 返回首頁    go 技術社區[雲棲]


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

  上一篇:go  警惕“辦公室之狼”:企業文印安全亟待保護
  下一篇:go  梭子魚推出AI解決方案實時防禦魚叉式網絡釣魚和網絡欺詐