Skip to content

[FR] Async function Support in Custom Columns #757

Description

@ashish-gaikwaad

Is your feature request related to a problem? Please describe.

Not a bug, but a usability and efficiency gap in data exploration.

While Mingo’s custom column feature is powerful for synchronous transformations (e.g., conditional formatting, computed fields), it currently does not support asynchronous operations. When an async function is used, it resolves to *[async Promise]*, making it unusable in practice.

This limitation becomes significant when working with related data across collections. Although relationships can be expanded manually per document, this approach does not scale when analyzing large datasets (e.g., 50–100+ rows). It forces users to either:

  • Expand documents one by one, or
  • Switch to aggregation pipelines for relatively simple insights

This breaks the otherwise smooth exploratory workflow that Mingo enables.


Describe the solution you'd like

Enable async function support in custom columns, allowing users to fetch and render data from related collections directly within the grid view.

For example:

  • Fetch a related document (with limited projection)
  • Display meaningful fields (e.g., name instead of ID)
  • Perform lightweight cross-collection lookups inline

This would unlock the ability to:

  • View enriched data across multiple rows simultaneously
  • Avoid switching to aggregation pipelines for simple relational insights
  • Perform quick, high-level analysis directly from the document view

💡 Example use case:
Instead of writing a $lookup aggregation just to map appId → appName, users could define an async column that fetches and displays the app name inline.


Describe alternatives you've considered

Currently, this can only be achieved via aggregation pipelines:

  • Use $group to compute metrics (e.g., campaigns per app)
  • Then $lookup to resolve related data (e.g., app names)

While effective, this approach:

  • Requires more effort for simple exploratory tasks
  • Breaks the flow of quick analysis
  • Adds cognitive overhead for non-trivial queries

With async column support, the same insight could be achieved directly in the grid view, making exploration significantly faster and more intuitive.


Additional context

This feature would be especially valuable for:

  • Debugging and data validation
  • Identifying trends across related entities
  • Performing quick exploratory analysis without writing full aggregations

In essence, it would bridge the gap between document browsing and aggregation-level insights, making Mingo even more powerful as an everyday developer tool.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions