executeMaximumQuery method

Future executeMaximumQuery(
  1. {@required String field,
  2. @required AGConnectCloudDBQuery query,
  3. @required AGConnectCloudDBZoneQueryPolicy policy}

You can call this method to search for Cloud DB zone objects that meet the specified conditions and return the maximum value of the data record of the specified fields.

Comply with the following rules when invoking this method:

  • This method is called to query the maximum value of the specified fields only when Cloud DB zone is opened. Otherwise, the query will fail.
  • The startAt(), startAfter(), endAt(), and endBefore() methods cannot be used as query conditions.
  • Supports the following data types:
    • int for Byte, Short, Integer, and Long.
    • double for Double, and Float.


Future<dynamic> executeMaximumQuery({
  @required String field,
  @required AGConnectCloudDBQuery query,
  @required AGConnectCloudDBZoneQueryPolicy policy,
}) async {
  if (field == null || field.isEmpty) {
    throw FormatException('Value of field cannot be null or an empty string.', field);
  if (query == null) {
    throw FormatException('Value of query cannot be null.', query);
  if (policy == null) {
    throw FormatException('Value of policy cannot be null.', policy);

  try {
    // Hint for null-safety: Return value can be null, int or double.
    return await _methodChannel.invokeMethod<dynamic>(
      <String, dynamic>{
        KeyConstants.ZONE_ID: this._id,
        KeyConstants.FIELD: field,
        KeyConstants.QUERY: query.query,
        KeyConstants.POLICY_INDEX: policy.index,
  } catch (e) {
    throw AGConnectCloudDBException.from(e);