首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未存储在指定流中的事件存储投影

未存储在指定流中的事件存储投影
EN

Stack Overflow用户
提问于 2022-05-27 08:17:09
回答 1查看 139关注 0票数 1

我正在我的eventstoreDB上运行一个投影,试图用事件源创建我的项目。这是我的投影,运行时没有错误:(该项目由节点和ts组成)

代码语言:javascript
复制
 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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-10 12:23:04

我不是专家,所以如果这不起作用,请评论,我会删除这个答案。

根据我能找到的信息,这里不需要transformBy电话。由于没有将状态转换为输出模型,所以应该能够在trans事件处理程序中直接执行计算。在添加现金后,还需要返回状态,如下所示:

代码语言:javascript
复制
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()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72402446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档