decimal モジュールを適切な場所に配置し、arangod 内で適切に要求できるようになると、次のようにトランザクション内で使用できるようになります。
db._executeTransaction({
collections: { },
action: function (params) {
var Decimal = require("decimal");
return Decimal(params.foo).add(params.bar).toNumber();
},
params: {
foo: '1.1',
bar: '2.2'
}
});
トランザクションがコレクションにアクセスする必要がある場合、明らかに「コレクション」属性でそれらの名前を指定する必要があります。
db._executeTransaction({
collections: {
write: [ "test" ]
},
action: function (params) {
var Decimal = require("decimal");
var collection = require("org/arangodb").db.test;
var amount = Decimal(params.foo).add(params.bar).toNumber();
return collection.save({ _key: params.key, amount: amount });
},
params: {
key: "mykey",
foo: '1.1',
bar: '2.2'
}
});