gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 03:09:45 24 4
gpt4 key购买 nike

我需要在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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com