Scope on a smart field extracting a json's column attribute
Last updated
Was this helpful?
Last updated
Was this helpful?
Please be sure of your agent type and version and pick the right documentation accordingly.
This is the documentation of the forest-express-sequelize
and forest-express-mongoose
Node.js agents that will soon reach end-of-support.
forest-express-sequelize
v9 and forest-express-mongoose
v9 are replaced by @forestadmin/agent
v1.
Please check your agent type and version and read on or switch to the right documentation.
Context: As a user, I want to scope a table's records based on the value of an attribute nested within a json column.
Example: I have a table users
that includes a JSONB column named contact
. The contact
json can include a phone
, email
or country
attribute. Since I want to scope my collection by country
, I created a smart field called country
that returns the value of the country attribute and I implemented a filter feature for this field.
The smart field definition and the filtering logic are defined as follows in the forest/users.js
file of my admin backend.
In order to make your smart field filterable in the UI, you both need to add the isFilterable: true
option in the field's declaration and to enable filtering on this field in the field settings in the UI.