Skip to main content

keyContains

keyContains [regex] [key1 ... keyn]

Useful for working with nested data sets with unique key values. Returns the value of a key matching the provided regex. Additional keys from that level can be provided. For example: keyContains "body$" id would return any key matching the "body$" regex (ex. data.nested.body, data.nested.nested.body), as well as the key id at that level (ex. data.nested.id, data.nested.nested.id).

arguments:

regex

A regex pattern used for checking for existence of keys matching the pattern (type: string)

keyN

One or keys at the level of the matching pattern to include. (type: string)

examples:

Query

seed '[{"key": "value", "nestedKeys": { "unique": "nestedvalue", "other": "othervalue"}}]'
|| keyContains nested other

Results prior to keyContains stage:

keynestedKeys.uniquenestedKeys.other
valuenestedvalueothervalue

Results after keyContains stage:

matchother
nestedvalueothervalue
othervalueothervalue

flags:

--appendStage

Used to append the results from a previous stage to the current stage. (provide a label, stage index, or boolean true to append the previous results)

--attributes

A comma separated list of attributes to include in the command results. If not provided, all attributes will be included.

--cache

A boolean value of true/false that determines whether or not to use the cache. Generally most commands will default to true.

--filter

A filter to run on the command results before completing the command. If not provided, no filter is run on the results.

--labelStage

Used to label a stage with a user provided label.

--stats

Controls if a stats calculation is run on a stage after it completes.

--value

Matching keys will also need to contain the value of this flag if it is provided.