pool.dataset.query ================== Query Pool Datasets with `query-filters` and `query-options`. We provide two ways to retrieve datasets. The first is a flat structure (default), where all datasets in the system are returned as separate objects which contain all data there is for their children. This retrieval type is slightly slower because of duplicates in each object. The second type is hierarchical, where only top level datasets are returned in the list. They contain all the children in the `children` key. This retrieval type is slightly faster. These options are controlled by the `query-options.extra.flat` attribute (default true). In some cases it might be desirable to only retrieve details of a dataset itself and not it's children, in this case `query-options.extra.retrieve_children` should be explicitly specified and set to `false` which will result in children not being retrieved. In case only some properties are desired to be retrieved for datasets, consumer should specify `query-options.extra.properties` which when `null` ( which is the default ) will retrieve all properties and otherwise a list can be specified like `["type", "used", "available"]` to retrieve selective properties. If no properties are desired, in that case an empty list should be sent. It should be noted that specifying empty list will still retrieve user properties. If user properties are not desired, in that case `query-options.extra.retrieve_user_props` should be set to `false`. `query-options.extra.snapshots` can be set to retrieve snapshot(s) of dataset in question. `query-options.extra.snapshots_recursive` can be set to retrieve snapshot(s) recursively of dataset in question. If `query-options.extra.snapshots_recursive` and `query-options.extra.snapshots` are set, snapshot(s) will be retrieved recursively. `query-options.extra.snapshots_properties` can be specified to list out properties which should be retrieved for snapshot(s) related to each dataset. By default only name of the snapshot would be retrieved, however if `null` is specified all properties of the snapshot would be retrieved in this case. .. raw:: html
List of filters for query results. See API documentation for "Query Methods" for more guidance.
No Additional Items[
[
"name",
"=",
"bob"
]
]
[
[
"OR",
[
[
[
"name",
"=",
"bob"
]
],
[
[
"name",
"=",
"larry"
]
]
]
]
]
Query options customize the results returned by a query method. More complete documentation with examples
are covered in the "Query methods" section of the TrueNAS API documentation.
Extra options are defined on a per-endpoint basis and are described in the documentation for the associated
query method.
An array of field names describing the manner in which query results should be ordered. The field names may
also have one of more of the following special prefixes: -
(reverse sort direction), nulls_first:
(place
any null values at the head of the results list), nulls_last:
(place any null values at the tail of the
results list).
[
"size",
"-devname",
"nulls_first:-expiretime"
]
An array of field names specifying the exact fields to include in the query return. The dot character .
may be used to explicitly select only subkeys of the query result.
[
"username",
"Authentication.status"
]
Return a numeric value representing the number of items that match the specified query-filters
.
Return the JSON object of the first result matching the specified query-filters
. The query fails
if there specified query-filters
return no results.
This specifies the beginning offset of the results array. When combined with the limit
query-option
it may be used to implement pagination of large results arrays. WARNING: some query methods provide
volatile results and the onus is on the developer to understand whether pagination is appropriate
for a particular query API method.
This specifies the maximum number of results matching the specified query-filters
to return. When
combined wtih the offset
query-option it may be used to implement pagination of large results arrays.
WARNING: some query methods provide volatile results and the onus is on the developer to understand whether
pagination is appropriate for a particular query API method.