query for stream in the ui

I just need to know if there is way to query the eventstore and receive all the events in a particular stream by stream name with a wild card in the eventstore ui.
So if I have 500 streams named User-[some guid] I might want to see all the user streams sorted by date so I can look at the last few that were modified. Similarly to how the stream browser works but instead of “most recently appended to streams” it would be “top 10 most recently appended user-* streams”.

I have asked about this several times, generally I’m referred to the docs which have no info on this at all. I understand if it’s not possible. Feature isn’t valued, Can’t be done, I don’t care, I’d just like to know so I can sift through tons of streams in the $all view trying to find my target with out thinking there is a better way.



Do you need to just query live or do you want a long running subscription?

just live, or perhaps not even live, just at the point from when I hit enter. You know I ( a lot of people ) are used to the data inquiry ways of a rmdb, so when I query a table I get the data at that point. someone updates that data a second later, I don’t see it till I query again. So I would see all the streams that match at that moment and can look at the events but I don’t need to have them updating automatically.
Generally in dev it’s like, I just did a commit of this new event and i want see the stream so I can see if that particular event looks correct.

I know I could build event handlers to sift this stuff. Probably could build projections that would do this. But I’m not up to speed on projections yet. I guess it would be nice to be able to do it in the ui. Or the command line I guess, though that might be a bit difficult to visualize.



This is basically where I get. Every time I ask this question, someone, generally Greg, promptly replies with a question, which is great. I love that Greg replies as often and quickly as he does. But then I never hear back. I have to assume that nobody else is doing anything like this because no one has ever offered any suggestion.
That means one of two things. Either everyone is rolling their own stream query engine, or there is some other generally accepted way of doing this. Not having the time to build that piece of infrastructure and not knowing the accepted way is making using ES extremely difficult.

Hi Raif,
There are a couple of ways you can accomplish this.

  1. Write a query which utilises projections to show you this information the Event Store console (log)

  2. Write a projection that links the events from the streams in question to a “-debug” stream and have the ability to look at this through the streams UI

  3. Write an application that subscribes to $all, filters out the streams you don’t care about and writes and formats this information for you.

For example if you wanted to do 1 or 2, which can be done completely from the UI, you could write the following projection which could either log or write to a debug stream. For this to work, projections needs to be enabled via the option (RunProjections: All) and the $by_category projection turned on.




log(JSON.stringify(e)); //log the event out to the Event Store output (console)

linkTo(‘debug-user’, e); //write these events to a new stream for viewing via the stream browser



You could even use the above and write the maxCount metadata for the debug-user stream to only ever have the last 10 events that were written to any user-* stream.

You mentioned you were pointed to the docs before? Which docs was this?

Does the above help?

Thank you Pieter,
it does help, I’ve generally just been pointed to the doc index or landing page.

I’ve never been able to get the query page in the ui to do anything for me. Largely because I don’t know what sort of syntax it’s looking for or what it’s capabilities are.

if I “linkTo” that would create a stream that I could then go to the stream browser page and type “debug-use” where it usually says $all and I would get that stream? would this create a bunch of artifacts in the system? anyway to get rid of the streams?

also this seems like it would get all the “user-someguid” streams and pump them in to one stream. where as what I would want is a list of each user-someguid stream so



etc where I could click on one and see it’s history.

does this make sense and is it possible?

Thanks again for the help