Проекция, объединяющая два потока в хранилище событий

Пытаюсь создать простейшую проекцию с помощью fromStreams, код сохраняется нормально, но потока mergeStream0 не существует

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

person patrick    schedule 25.05.2018    source источник


Ответы (1)


Вы должны убедиться, что ВСЕ проекции запуска были вызваны в вашем хранилище событий.

При использовании встроенного клиента параметры следующие:

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

person Piotr Kula    schedule 11.07.2018