gpt4 book ai didi

node.js - 如何将 NPM 模块(十进制)添加到 ArangoDB 以进行 ACID 事务

转载 作者:搜寻专家 更新时间:2023-10-31 23:05:22 24 4
gpt4 key购买 nike

我想用 ArangoDB 做 ACID 事务。我想将事务代码 (nodejs-code) 发送到 ArangoDB 服务器,然后它将在该服务器上执行,并希望在失败时提交或回滚。但是在 ArangoDB 服务器端,我需要安装 NPM Decimal 模块或称为包。

如何安装它,如何从其中的事务代码访问该特定模块?

问候和感谢。

最佳答案

一旦你在正确的位置有了 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'
}
});

如果您的交易需要访问集合,您显然需要在“collections”属性中指定它们的名称,例如

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'
}
});

关于node.js - 如何将 NPM 模块(十进制)添加到 ArangoDB 以进行 ACID 事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23920998/

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