java - ArangoDB Java驱动程序: put multiple parameters in transaction

标签 java arangodb

我需要在ArangoDB的JAVA驱动的事务中放置多个参数;

它适用于单个参数:

public String save(User user) throws ArangoDBException {

    TransactionOptions options = new TransactionOptions().params(user).writeCollections(collectionName);
    String action = "function (params) { "
            + "var db = require('internal').db; "
            + "var doc = params;"
            + "db.users.save(doc);"
            + "}";

    return db.transaction(action, String.class, options);
}

但是如果我需要传递多个参数,那么我就会陷入困境。尝试传递map、arraylist或array,但似乎不起作用:

public void save(User user, User user2) throws ArangoDBException {
    Map<String, Object> parameters = new MapBuilder()
            .put("user", user)
            .put("user2" user2)
            .get();


    TransactionOptions options = new TransactionOptions().params(parameters).writeCollections(collectionName);
    String action = "function (params) { "
            + "var db = require('internal').db; "
            + "var doc = params['user'];"
            + "var doc2 = params['user2'];"
            + "db.users.save(doc);"
            + "db.users.save(doc2);"
            + "}";

    db.transaction(action, String.class, options);
}

最佳答案

不再需要您的解决方法。 TransactionOptions 中缺少映射/列表/数组的自动序列化是 java 驱动程序中的一个错误,已在版本 4.1.5 中修复

关于java - ArangoDB Java驱动程序: put multiple parameters in transaction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41239223/

相关文章:

database - 是否可以通过数据库(而不是集合或 shardKey)实现 ArangoDB 分片?

spring-data - ArangoDB "Spring Data Demo"教程过时了吗?

javax.el.PropertyNotFoundException : Property 'rollno' not found on type java. lang.String

java - ORA-00933 : SQL command not properly ended on jdbc call

c# - ArangoDB 创建文档导致空插入

ssl - 无法将 arango 2.8.5 绑定(bind)到端点 ssl ://0. 0.0.0:443

javascript - ArangoDB 图 maxDepth - 迭代次数过多

java - 第二眼 JPA 保存列表导致 PK 违规

java - 用于创建外部 JAR 文件的 Eclipse JAR 导出设置(用于导入到另一个项目)

java - 线性插值 - 音频音调偏移