Skip to main content

Why do some of my MongoDB text columns show a dash instead of a value?

MongoDB text fields are aggregated by collecting the distinct values within each grouped row. When a grouped row contains exactly one distinct value for a text field, that value is shown. When the same grouped row rolls up more than one distinct value, the cell shows a dash (-) instead of trying to list them all. To see the individual values, add the text field as a breakdown so each distinct value gets its own row, or narrow the widget filters so each row resolves to a single value. Text values are also shortened to 50 characters in results, with a trailing ellipsis when the original value is longer. For finer control, set an explicit aggregation on a numeric field (sum, mean, median, min, or max) in the field settings. See the MongoDB data reference for how field types map to aggregation defaults.

Why did a field disappear from my MongoDB data source?

MongoDB collections are schema-less, so the available field list is resolved by sampling the bound collection rather than read from a fixed schema. A field that no longer appears in the sampled documents, or whose type has become inconsistent across documents, can drop out of the list or change how it is treated. Field metadata is cached briefly, so a field added or changed on the MongoDB side can take up to five minutes to appear or update in Adriel. Keeping document shape consistent across the collection gives the most stable field list. For the mapping rules that decide how each field type is exposed, see the MongoDB data reference.

Why does my MongoDB widget only return 1,000 rows?

Every MongoDB widget query ends with a document limit, and the default cap is 1,000 documents per query. A result set larger than the query can return is reported as an oversized-result error rather than a partial table. To stay within the cap, refine the widget filters, narrow the date range, or pre-aggregate the data into a purpose-built collection on the MongoDB side so each row already represents a summarized group. Reducing the number of breakdown combinations also lowers the row count.

Can I report across more than one MongoDB collection?

Each MongoDB data source binds to a single collection, and cross-collection joins are not supported. To combine data that lives in separate collections, pre-join or pre-aggregate it into one collection on the MongoDB side before connecting. To expose a second collection on its own, create a second MongoDB data source pointed at that collection. For relational databases where joins happen in the query, the MySQL data reference covers a SQL alternative.

Why isn’t the filter I need available on my MongoDB widget?

Widget filters on MongoDB data sources support a limited operator set: equals, in (match any of several values), and like (pattern match). Other operators are not available, so comparisons such as greater-than or less-than cannot be expressed directly in a widget filter. For logic that these operators cannot express, restructure the data or pre-aggregate it into a collection whose documents already reflect the needed grouping, then filter on those pre-computed fields. Date-range filtering is handled automatically against the field mapped as the collection’s date field.

MongoDB data reference

Query model, field type mapping, and limits for the MongoDB data source.

How to connect MongoDB

Connect a MongoDB collection to Adriel as a data source.

MySQL data reference

SQL database alternative when reporting needs cross-table joins.

MySQL FAQs

Common questions and expected behaviors for the MySQL data source.