我正在我的eventstoreDB上运行一个投影,试图用事件源创建我的项目。这是我的投影,运行时没有错误:(该项目由节点和ts组成)
options({
resultStreamName: "userData",
$includeLinks: true,
reorderEvents: false,
processingLag: 500
})
fromStream('user')
.when({
$init: function() {
return {
cash: 0
}
},
trans: function(state, event) {
state.cash += event.body.cash;
}
})
.transformBy(function(state) {
state.cash = 10;
})
.outputState()由于某些原因,结果似乎不会按指定的方式上传到resultstreamName。
我看到投影(称为用户)正在运行:

我的预测“测试”与现金信息:

如何使结果投影存储在流userData中
发布于 2022-06-10 12:23:04
我不是专家,所以如果这不起作用,请评论,我会删除这个答案。
根据我能找到的信息,这里不需要transformBy电话。由于没有将状态转换为输出模型,所以应该能够在trans事件处理程序中直接执行计算。在添加现金后,还需要返回状态,如下所示:
options({
resultStreamName: "userData",
$includeLinks: true,
reorderEvents: false,
processingLag: 500
})
fromStream('user')
.when({
$init: function() {
return {
cash: 0
}
},
trans: function(state, event) {
state.cash += event.body.cash; // (maybe event.data.cash instead?)
return state;
}
})
.outputState()https://stackoverflow.com/questions/72402446
复制相似问题