Share aggregation pipelines across clusters/namespaces and with other people
Aggregations can be saved in Compass but they are only accessible in the Aggregation Builder for the specific cluster and namespace. It would be good to be able to reuse pipelines across different clusters and namespaces (e.g. I build it against my staging database but then I want to also test it in prod).
It would also be great to have a way to share a library of pipelines with the rest of the team. In the ideal scenario, pipelines would be versioned and multiple people would be able to contribute to a shared library of pipelines.
With the new My Queries screen we introduced in Compass 1.31 it's possible to see and search for all queries and aggregations in one place and if the namespace they were originally built against is not available in the current cluster, it's possible to apply them to a different namespace.
Sharing with other people is not possible yet but from the My Queries screen it's possible to copy a pipeline in one click.
2 thoughts. I recently went through a migration exercise where I had over 50 agg pipelines that I wanted to migrate. I was able to export/import the connections, but I had to manually locate the pipelines from the metadata folder, copy/stage them, download them to the new machine, and then drop them into the same location. I was lucky it worked, but I also feel that if I ran into issues - this wouldn't be considered a supported approach. It wasn't well documented either and I feel only as a MongoDB employee I could figure this out. It would be good to have a way to migrate the work (or store this in a central location for shared access).
Also - since we are leaning into App Services - and there are functions that are exposed in App Services, have direct deployment from compass to App services would be a very logical integration point. Not sure if that is being considered - but it would definitely promote the use of Atlas App Services. We are promoting the exposure of data via Graph or Data API calls, so why not directly deploy agg pipeline from compass to app services? That could be a very logical repository location, IMHO