在eventstore中合并两个流的投影

时间:2018-05-25 17:17:02

标签: projection get-event-store

我正在尝试使用fromStreams创建最简单的投影,代码保存得很好,但流mergeStream0不存在

var create = function () {
    fromStreams(['storeIdStream7', 'storeIdStream'])
         .when(function(state,event) { 
             emit('mergeStream0', 'mergeType', '123')
     return null; 
  });
};
create() 

1 个答案:

答案 0 :(得分:0)

您需要确保在事件存储区上已调用运行投影ALL

使用嵌入式客户端时,选项如下

var nodeBuilder = EmbeddedVNodeBuilder.AsSingleNode()
    .OnDefaultEndpoints()
    .RunInMemory()
    .RunProjections(EventStore.Common.Options.ProjectionType.All, 1);

在服务器上启动它时,需要将其包含在eventstore.conf

RunProjections: All
ClusterSize: 1
ExtIp: 0.0.0.0

此外,您的投影将仅显示到原始流的链接,您也可以使用linkTo(state, event);链接到实际数据,以便其返回到投影中。但是,如果您省略此设置,则可以使用客户端并将resolveLinkTos设置为true