Class StructuredQuery.Builder (3.21.0)

public static final class StructuredQuery.Builder extends GeneratedMessageV3.Builder<StructuredQuery.Builder> implements StructuredQueryOrBuilder

A Firestore query.

The query stages are executed in the following order:

  1. from
  2. where
  3. select
  4. order_by + start_at + end_at
  5. offset
  6. limit

Protobuf type google.firestore.v1.StructuredQuery

Static Methods

getDescriptor()

public static final Descriptors.Descriptor getDescriptor()
Returns
Type Description
Descriptor

Methods

addAllFrom(Iterable<? extends StructuredQuery.CollectionSelector> values)

public StructuredQuery.Builder addAllFrom(Iterable<? extends StructuredQuery.CollectionSelector> values)

The collections to query.

repeated .google.firestore.v1.StructuredQuery.CollectionSelector from = 2;

Parameter
Name Description
values Iterable<? extends com.google.firestore.v1.StructuredQuery.CollectionSelector>
Returns
Type Description
StructuredQuery.Builder

addAllOrderBy(Iterable<? extends StructuredQuery.Order> values)

public StructuredQuery.Builder addAllOrderBy(Iterable<? extends StructuredQuery.Order> values)

The order to apply to the query results.

Firestore allows callers to provide a full ordering, a partial ordering, or no ordering at all. In all cases, Firestore guarantees a stable ordering through the following rules:

  • The order_by is required to reference all fields used with an inequality filter.
  • All fields that are required to be in the order_by but are not already present are appended in lexicographical ordering of the field name.
  • If an order on name is not specified, it is appended by default.

    Fields are appended with the same sort direction as the last order specified, or 'ASCENDING' if no order was specified. For example:

  • ORDER BY a becomes ORDER BY a ASC, name ASC

  • ORDER BY a DESC becomes ORDER BY a DESC, name DESC
  • WHERE a > 1 becomes WHERE a > 1 ORDER BY a ASC, name ASC
  • WHERE name > ... AND a > 1 becomes WHERE name > ... AND a > 1 ORDER BY a ASC, name ASC

repeated .google.firestore.v1.StructuredQuery.Order order_by = 4;

Parameter
Name Description
values Iterable<? extends com.google.firestore.v1.StructuredQuery.Order>
Returns
Type Description
StructuredQuery.Builder

addFrom(StructuredQuery.CollectionSelector value)

public StructuredQuery.Builder addFrom(StructuredQuery.CollectionSelector value)

The collections to query.

repeated .google.firestore.v1.StructuredQuery.CollectionSelector from = 2;

Parameter
Name Description
value StructuredQuery.CollectionSelector
Returns
Type Description
StructuredQuery.Builder

addFrom(StructuredQuery.CollectionSelector.Builder builderForValue)

public StructuredQuery.Builder addFrom(StructuredQuery.CollectionSelector.Builder builderForValue)

The collections to query.

repeated .google.firestore.v1.StructuredQuery.CollectionSelector from = 2;

Parameter
Name Description
builderForValue StructuredQuery.CollectionSelector.Builder
Returns
Type Description
StructuredQuery.Builder

addFrom(int index, StructuredQuery.CollectionSelector value)

public StructuredQuery.Builder addFrom(int index, StructuredQuery.CollectionSelector value)

The collections to query.

repeated .google.firestore.v1.StructuredQuery.CollectionSelector from = 2;

Parameters
Name Description
index int
value StructuredQuery.CollectionSelector
Returns
Type Description
StructuredQuery.Builder

addFrom(int index, StructuredQuery.CollectionSelector.Builder builderForValue)

public StructuredQuery.Builder addFrom(int index, StructuredQuery.CollectionSelector.Builder builderForValue)

The collections to query.

repeated .google.firestore.v1.StructuredQuery.CollectionSelector from = 2;

Parameters
Name Description
index int
builderForValue StructuredQuery.CollectionSelector.Builder
Returns
Type Description
StructuredQuery.Builder

addFromBuilder()

public StructuredQuery.CollectionSelector.Builder addFromBuilder()

The collections to query.

repeated .google.firestore.v1.StructuredQuery.CollectionSelector from = 2;

Returns
Type Description
StructuredQuery.CollectionSelector.Builder

addFromBuilder(int index)

public StructuredQuery.CollectionSelector.Builder addFromBuilder(int index)

The collections to query.

repeated .google.firestore.v1.StructuredQuery.CollectionSelector from = 2;

Parameter
Name Description
index int
Returns
Type Description
StructuredQuery.CollectionSelector.Builder

addOrderBy(StructuredQuery.Order value)

public StructuredQuery.Builder addOrderBy(StructuredQuery.Order value)

The order to apply to the query results.

Firestore allows callers to provide a full ordering, a partial ordering, or no ordering at all. In all cases, Firestore guarantees a stable ordering through the following rules:

  • The order_by is required to reference all fields used with an inequality filter.
  • All fields that are required to be in the order_by but are not already present are appended in lexicographical ordering of the field name.
  • If an order on name is not specified, it is appended by default.

    Fields are appended with the same sort direction as the last order specified, or 'ASCENDING' if no order was specified. For example:

  • ORDER BY a becomes ORDER BY a ASC, name ASC

  • ORDER BY a DESC becomes ORDER BY a DESC, name DESC
  • WHERE a > 1 becomes WHERE a > 1 ORDER BY a ASC, name ASC
  • WHERE name > ... AND a > 1 becomes WHERE name > ... AND a > 1 ORDER BY a ASC, name ASC

repeated .google.firestore.v1.StructuredQuery.Order order_by = 4;

Parameter
Name Description
value StructuredQuery.Order
Returns
Type Description
StructuredQuery.Builder

addOrderBy(StructuredQuery.Order.Builder builderForValue)

public StructuredQuery.Builder addOrderBy(StructuredQuery.Order.Builder builderForValue)

The order to apply to the query results.

Firestore allows callers to provide a full ordering, a partial ordering, or no ordering at all. In all cases, Firestore guarantees a stable ordering through the following rules:

  • The order_by is required to reference all fields used with an inequality filter.
  • All fields that are required to be in the order_by but are not already present are appended in lexicographical ordering of the field name.
  • If an order on name is not specified, it is appended by default.

    Fields are appended with the same sort direction as the last order specified, or 'ASCENDING' if no order was specified. For example:

  • ORDER BY a becomes ORDER BY a ASC, name ASC

  • ORDER BY a DESC becomes ORDER BY a DESC, name DESC
  • WHERE a > 1 becomes WHERE a > 1 ORDER BY a ASC, name ASC
  • WHERE name > ... AND a > 1 becomes WHERE name > ... AND a > 1 ORDER BY a ASC, name ASC

repeated .google.firestore.v1.StructuredQuery.Order order_by = 4;

Parameter
Name Description
builderForValue StructuredQuery.Order.Builder
Returns
Type Description
StructuredQuery.Builder

addOrderBy(int index, StructuredQuery.Order value)

public StructuredQuery.Builder addOrderBy(int index, StructuredQuery.Order value)

The order to apply to the query results.

Firestore allows callers to provide a full ordering, a partial ordering, or no ordering at all. In all cases, Firestore guarantees a stable ordering through the following rules:

  • The order_by is required to reference all fields used with an inequality filter.
  • All fields that are required to be in the order_by but are not already present are appended in lexicographical ordering of the field name.
  • If an order on name is not specified, it is appended by default.

    Fields are appended with the same sort direction as the last order specified, or 'ASCENDING' if no order was specified. For example:

  • ORDER BY a becomes ORDER BY a ASC, name ASC

  • ORDER BY a DESC becomes ORDER BY a DESC, name DESC
  • WHERE a > 1 becomes WHERE a > 1 ORDER BY a ASC, name ASC
  • WHERE name > ... AND a > 1 becomes WHERE name > ... AND a > 1 ORDER BY a ASC, name ASC

repeated .google.firestore.v1.StructuredQuery.Order order_by = 4;

Parameters
Name Description
index int
value StructuredQuery.Order
Returns
Type Description
StructuredQuery.Builder

addOrderBy(int index, StructuredQuery.Order.Builder builderForValue)

public StructuredQuery.Builder addOrderBy(int index, StructuredQuery.Order.Builder builderForValue)

The order to apply to the query results.

Firestore allows callers to provide a full ordering, a partial ordering, or no ordering at all. In all cases, Firestore guarantees a stable ordering through the following rules:

  • The order_by is required to reference all fields used with an inequality filter.
  • All fields that are required to be in the order_by but are not already present are appended in lexicographical ordering of the field name.
  • If an order on name is not specified, it is appended by default.

    Fields are appended with the same sort direction as the last order specified, or 'ASCENDING' if no order was specified. For example:

  • ORDER BY a becomes ORDER BY a ASC, name ASC

  • ORDER BY a DESC becomes ORDER BY a DESC, name DESC
  • WHERE a > 1 becomes WHERE a > 1 ORDER BY a ASC, name ASC
  • WHERE name > ... AND a > 1 becomes WHERE name > ... AND a > 1 ORDER BY a ASC, name ASC

repeated .google.firestore.v1.StructuredQuery.Order order_by = 4;

Parameters
Name Description
index int
builderForValue StructuredQuery.Order.Builder
Returns
Type Description
StructuredQuery.Builder

addOrderByBuilder()

public StructuredQuery.Order.Builder addOrderByBuilder()

The order to apply to the query results.

Firestore allows callers to provide a full ordering, a partial ordering, or no ordering at all. In all cases, Firestore guarantees a stable ordering through the following rules:

  • The order_by is required to reference all fields used with an inequality filter.
  • All fields that are required to be in the order_by but are not already present are appended in lexicographical ordering of the field name.
  • If an order on name is not specified, it is appended by default.

    Fields are appended with the same sort direction as the last order specified, or 'ASCENDING' if no order was specified. For example:

  • ORDER BY a becomes ORDER BY a ASC, name ASC

  • ORDER BY a DESC becomes ORDER BY a DESC, name DESC
  • WHERE a > 1 becomes WHERE a > 1 ORDER BY a ASC, name ASC
  • WHERE name > ... AND a > 1 becomes WHERE name > ... AND a > 1 ORDER BY a ASC, name ASC

repeated .google.firestore.v1.StructuredQuery.Order order_by = 4;

Returns
Type Description
StructuredQuery.Order.Builder

addOrderByBuilder(int index)

public StructuredQuery.Order.Builder addOrderByBuilder(int index)

The order to apply to the query results.

Firestore allows callers to provide a full ordering, a partial ordering, or no ordering at all. In all cases, Firestore guarantees a stable ordering through the following rules:

  • The order_by is required to reference all fields used with an inequality filter.
  • All fields that are required to be in the order_by but are not already present are appended in lexicographical ordering of the field name.
  • If an order on name is not specified, it is appended by default.

    Fields are appended with the same sort direction as the last order specified, or 'ASCENDING' if no order was specified. For example:

  • ORDER BY a becomes ORDER BY a ASC, name ASC

  • ORDER BY a DESC becomes ORDER BY a DESC, name DESC
  • WHERE a > 1 becomes WHERE a > 1 ORDER BY a ASC, name ASC
  • WHERE name > ... AND a > 1 becomes WHERE name > ... AND a > 1 ORDER BY a ASC, name ASC

repeated .google.firestore.v1.StructuredQuery.Order order_by = 4;

Parameter
Name Description
index int
Returns
Type Description
StructuredQuery.Order.Builder

addRepeatedField(Descriptors.FieldDescriptor field, Object value)

public StructuredQuery.Builder addRepeatedField(Descriptors.FieldDescriptor field, Object value)
Parameters
Name Description
field FieldDescriptor
value Object
Returns
Type Description
StructuredQuery.Builder
Overrides

build()

public StructuredQuery build()
Returns
Type Description
StructuredQuery

buildPartial()

public StructuredQuery buildPartial()
Returns
Type Description
StructuredQuery

clear()

public StructuredQuery.Builder clear()
Returns
Type Description
StructuredQuery.Builder
Overrides

clearEndAt()

public StructuredQuery.Builder clearEndAt()

A potential prefix of a position in the result set to end the query at.

This is similar to START_AT but with it controlling the end position rather than the start position.

Requires:

  • The number of values cannot be greater than the number of fields specified in the ORDER BY clause.

.google.firestore.v1.Cursor end_at = 8;

Returns
Type Description
StructuredQuery.Builder

clearField(Descriptors.FieldDescriptor field)

public StructuredQuery.Builder clearField(Descriptors.FieldDescriptor field)
Parameter
Name Description
field FieldDescriptor
Returns
Type Description
StructuredQuery.Builder
Overrides

clearFindNearest()

public StructuredQuery.Builder clearFindNearest()

Optional. A potential Nearest Neighbors Search.

Applies after all other filters and ordering.

Finds the closest vector embeddings to the given query vector.

.google.firestore.v1.StructuredQuery.FindNearest find_nearest = 9 [(.google.api.field_behavior) = OPTIONAL];

Returns
Type Description
StructuredQuery.Builder

clearFrom()

public StructuredQuery.Builder clearFrom()

The collections to query.

repeated .google.firestore.v1.StructuredQuery.CollectionSelector from = 2;

Returns
Type Description
StructuredQuery.Builder

clearLimit()

public StructuredQuery.Builder clearLimit()

The maximum number of results to return.

Applies after all other constraints.

Requires:

  • The value must be greater than or equal to zero if specified.

.google.protobuf.Int32Value limit = 5;

Returns
Type Description
StructuredQuery.Builder

clearOffset()

public StructuredQuery.Builder clearOffset()

The number of documents to skip before returning the first result.

This applies after the constraints specified by the WHERE, START AT, & END AT but before the LIMIT clause.

Requires:

  • The value must be greater than or equal to zero if specified.

int32 offset = 6;

Returns
Type Description
StructuredQuery.Builder

This builder for chaining.

clearOneof(Descriptors.OneofDescriptor oneof)

public StructuredQuery.Builder clearOneof(Descriptors.OneofDescriptor oneof)
Parameter
Name Description
oneof OneofDescriptor
Returns
Type Description
StructuredQuery.Builder
Overrides

clearOrderBy()

public StructuredQuery.Builder clearOrderBy()

The order to apply to the query results.

Firestore allows callers to provide a full ordering, a partial ordering, or no ordering at all. In all cases, Firestore guarantees a stable ordering through the following rules:

  • The order_by is required to reference all fields used with an inequality filter.
  • All fields that are required to be in the order_by but are not already present are appended in lexicographical ordering of the field name.
  • If an order on name is not specified, it is appended by default.

    Fields are appended with the same sort direction as the last order specified, or 'ASCENDING' if no order was specified. For example:

  • ORDER BY a becomes ORDER BY a ASC, name ASC

  • ORDER BY a DESC becomes ORDER BY a DESC, name DESC
  • WHERE a > 1 becomes WHERE a > 1 ORDER BY a ASC, name ASC
  • WHERE name > ... AND a > 1 becomes WHERE name > ... AND a > 1 ORDER BY a ASC, name ASC

repeated .google.firestore.v1.StructuredQuery.Order order_by = 4;

Returns
Type Description
StructuredQuery.Builder

clearSelect()

public StructuredQuery.Builder clearSelect()

Optional sub-set of the fields to return.

This acts as a DocumentMask over the documents returned from a query. When not set, assumes that the caller wants all fields returned.

.google.firestore.v1.StructuredQuery.Projection select = 1;

Returns
Type Description
StructuredQuery.Builder

clearStartAt()

public StructuredQuery.Builder clearStartAt()

A potential prefix of a position in the result set to start the query at.

The ordering of the result set is based on the ORDER BY clause of the original query.

` SELECT * FROM k WHERE a = 1 AND b > 2 ORDER BY b ASC, name ASC;

This query's results are ordered by (b ASC, name ASC).

Cursors can reference either the full ordering or a prefix of the location, though it cannot reference more fields than what are in the provided ORDER BY.

Continuing off the example above, attaching the following start cursors will have varying impact:

START BEFORE (2, /k/123): start the query right before a = 1 AND b > 2 AND name > /k/123.
  • START AFTER (10): start the query right after a = 1 AND b > 10.

    Unlike OFFSET which requires scanning over the first N results to skip, a start cursor allows the query to begin at a logical position. This position is not required to match an actual result, it will scan forward from this position to find the next document.

    Requires:

  • The number of values cannot be greater than the number of fields specified in the

  • ORDER BY` clause.

    .google.firestore.v1.Cursor start_at = 7;

    Returns
    Type Description
    StructuredQuery.Builder

    clearWhere()

    public StructuredQuery.Builder clearWhere()

    The filter to apply.

    .google.firestore.v1.StructuredQuery.Filter where = 3;

    Returns
    Type Description
    StructuredQuery.Builder

    clone()

    public StructuredQuery.Builder clone()
    Returns
    Type Description
    StructuredQuery.Builder
    Overrides

    getDefaultInstanceForType()

    public StructuredQuery getDefaultInstanceForType()
    Returns
    Type Description
    StructuredQuery

    getDescriptorForType()

    public Descriptors.Descriptor getDescriptorForType()
    Returns
    Type Description
    Descriptor
    Overrides

    getEndAt()

    public Cursor getEndAt()

    A potential prefix of a position in the result set to end the query at.

    This is similar to START_AT but with it controlling the end position rather than the start position.

    Requires:

    • The number of values cannot be greater than the number of fields specified in the ORDER BY clause.

    .google.firestore.v1.Cursor end_at = 8;

    Returns
    Type Description
    Cursor

    The endAt.

    getEndAtBuilder()

    public Cursor.Builder getEndAtBuilder()

    A potential prefix of a position in the result set to end the query at.

    This is similar to START_AT but with it controlling the end position rather than the start position.

    Requires:

    • The number of values cannot be greater than the number of fields specified in the ORDER BY clause.

    .google.firestore.v1.Cursor end_at = 8;

    Returns
    Type Description
    Cursor.Builder

    getEndAtOrBuilder()

    public CursorOrBuilder getEndAtOrBuilder()

    A potential prefix of a position in the result set to end the query at.

    This is similar to START_AT but with it controlling the end position rather than the start position.

    Requires:

    • The number of values cannot be greater than the number of fields specified in the ORDER BY clause.

    .google.firestore.v1.Cursor end_at = 8;

    Returns
    Type Description
    CursorOrBuilder

    getFindNearest()

    public StructuredQuery.FindNearest getFindNearest()

    Optional. A potential Nearest Neighbors Search.

    Applies after all other filters and ordering.

    Finds the closest vector embeddings to the given query vector.

    .google.firestore.v1.StructuredQuery.FindNearest find_nearest = 9 [(.google.api.field_behavior) = OPTIONAL];

    Returns
    Type Description
    StructuredQuery.FindNearest

    The findNearest.

    getFindNearestBuilder()

    public StructuredQuery.FindNearest.Builder getFindNearestBuilder()

    Optional. A potential Nearest Neighbors Search.

    Applies after all other filters and ordering.

    Finds the closest vector embeddings to the given query vector.

    .google.firestore.v1.StructuredQuery.FindNearest find_nearest = 9 [(.google.api.field_behavior) = OPTIONAL];

    Returns
    Type Description
    StructuredQuery.FindNearest.Builder

    getFindNearestOrBuilder()

    public StructuredQuery.FindNearestOrBuilder getFindNearestOrBuilder()

    Optional. A potential Nearest Neighbors Search.

    Applies after all other filters and ordering.

    Finds the closest vector embeddings to the given query vector.

    .google.firestore.v1.StructuredQuery.FindNearest find_nearest = 9 [(.google.api.field_behavior) = OPTIONAL];

    Returns
    Type Description
    StructuredQuery.FindNearestOrBuilder

    getFrom(int index)

    public StructuredQuery.CollectionSelector getFrom(int index)

    The collections to query.

    repeated .google.firestore.v1.StructuredQuery.CollectionSelector from = 2;

    Parameter
    Name Description
    index int
    Returns
    Type Description
    StructuredQuery.CollectionSelector

    getFromBuilder(int index)

    public StructuredQuery.CollectionSelector.Builder getFromBuilder(int index)

    The collections to query.

    repeated .google.firestore.v1.StructuredQuery.CollectionSelector from = 2;

    Parameter
    Name Description
    index int
    Returns
    Type Description
    StructuredQuery.CollectionSelector.Builder

    getFromBuilderList()

    public List<StructuredQuery.CollectionSelector.Builder> getFromBuilderList()

    The collections to query.

    repeated .google.firestore.v1.StructuredQuery.CollectionSelector from = 2;

    Returns
    Type Description
    List<Builder>

    getFromCount()

    public int getFromCount()

    The collections to query.

    repeated .google.firestore.v1.StructuredQuery.CollectionSelector from = 2;

    Returns
    Type Description
    int

    getFromList()

    public List<StructuredQuery.CollectionSelector> getFromList()

    The collections to query.

    repeated .google.firestore.v1.StructuredQuery.CollectionSelector from = 2;

    Returns
    Type Description
    List<CollectionSelector>

    getFromOrBuilder(int index)

    public StructuredQuery.CollectionSelectorOrBuilder getFromOrBuilder(int index)

    The collections to query.

    repeated .google.firestore.v1.StructuredQuery.CollectionSelector from = 2;

    Parameter
    Name Description
    index int
    Returns
    Type Description
    StructuredQuery.CollectionSelectorOrBuilder

    getFromOrBuilderList()

    public List<? extends StructuredQuery.CollectionSelectorOrBuilder> getFromOrBuilderList()

    The collections to query.

    repeated .google.firestore.v1.StructuredQuery.CollectionSelector from = 2;

    Returns
    Type Description
    List<? extends com.google.firestore.v1.StructuredQuery.CollectionSelectorOrBuilder>

    getLimit()

    public Int32Value getLimit()

    The maximum number of results to return.

    Applies after all other constraints.

    Requires:

    • The value must be greater than or equal to zero if specified.

    .google.protobuf.Int32Value limit = 5;

    Returns
    Type Description
    Int32Value

    The limit.

    getLimitBuilder()

    public Int32Value.Builder getLimitBuilder()

    The maximum number of results to return.

    Applies after all other constraints.

    Requires:

    • The value must be greater than or equal to zero if specified.

    .google.protobuf.Int32Value limit = 5;

    Returns
    Type Description
    Builder

    getLimitOrBuilder()

    public Int32ValueOrBuilder getLimitOrBuilder()

    The maximum number of results to return.

    Applies after all other constraints.

    Requires:

    • The value must be greater than or equal to zero if specified.

    .google.protobuf.Int32Value limit = 5;

    Returns
    Type Description
    Int32ValueOrBuilder

    getOffset()

    public int getOffset()

    The number of documents to skip before returning the first result.

    This applies after the constraints specified by the WHERE, START AT, & END AT but before the LIMIT clause.

    Requires:

    • The value must be greater than or equal to zero if specified.

    int32 offset = 6;

    Returns
    Type Description
    int

    The offset.

    getOrderBy(int index)

    public StructuredQuery.Order getOrderBy(int index)

    The order to apply to the query results.

    Firestore allows callers to provide a full ordering, a partial ordering, or no ordering at all. In all cases, Firestore guarantees a stable ordering through the following rules:

    • The order_by is required to reference all fields used with an inequality filter.
    • All fields that are required to be in the order_by but are not already present are appended in lexicographical ordering of the field name.
    • If an order on name is not specified, it is appended by default.

      Fields are appended with the same sort direction as the last order specified, or 'ASCENDING' if no order was specified. For example:

    • ORDER BY a becomes ORDER BY a ASC, name ASC

    • ORDER BY a DESC becomes ORDER BY a DESC, name DESC
    • WHERE a > 1 becomes WHERE a > 1 ORDER BY a ASC, name ASC
    • WHERE name > ... AND a > 1 becomes WHERE name > ... AND a > 1 ORDER BY a ASC, name ASC

    repeated .google.firestore.v1.StructuredQuery.Order order_by = 4;

    Parameter
    Name Description
    index int
    Returns
    Type Description
    StructuredQuery.Order

    getOrderByBuilder(int index)

    public StructuredQuery.Order.Builder getOrderByBuilder(int index)

    The order to apply to the query results.

    Firestore allows callers to provide a full ordering, a partial ordering, or no ordering at all. In all cases, Firestore guarantees a stable ordering through the following rules:

    • The order_by is required to reference all fields used with an inequality filter.
    • All fields that are required to be in the order_by but are not already present are appended in lexicographical ordering of the field name.
    • If an order on name is not specified, it is appended by default.

      Fields are appended with the same sort direction as the last order specified, or 'ASCENDING' if no order was specified. For example:

    • ORDER BY a becomes ORDER BY a ASC, name ASC

    • ORDER BY a DESC becomes ORDER BY a DESC, name DESC
    • WHERE a > 1 becomes WHERE a > 1 ORDER BY a ASC, name ASC
    • WHERE name > ... AND a > 1 becomes WHERE name > ... AND a > 1 ORDER BY a ASC, name ASC

    repeated .google.firestore.v1.StructuredQuery.Order order_by = 4;

    Parameter
    Name Description
    index int
    Returns
    Type Description
    StructuredQuery.Order.Builder

    getOrderByBuilderList()

    public List<StructuredQuery.Order.Builder> getOrderByBuilderList()

    The order to apply to the query results.

    Firestore allows callers to provide a full ordering, a partial ordering, or no ordering at all. In all cases, Firestore guarantees a stable ordering through the following rules:

    • The order_by is required to reference all fields used with an inequality filter.
    • All fields that are required to be in the order_by but are not already present are appended in lexicographical ordering of the field name.
    • If an order on name is not specified, it is appended by default.

      Fields are appended with the same sort direction as the last order specified, or 'ASCENDING' if no order was specified. For example:

    • ORDER BY a becomes ORDER BY a ASC, name ASC

    • ORDER BY a DESC becomes ORDER BY a DESC, name DESC
    • WHERE a > 1 becomes WHERE a > 1 ORDER BY a ASC, name ASC
    • WHERE name > ... AND a > 1 becomes WHERE name > ... AND a > 1 ORDER BY a ASC, name ASC

    repeated .google.firestore.v1.StructuredQuery.Order order_by = 4;

    Returns
    Type Description
    List<Builder>

    getOrderByCount()

    public int getOrderByCount()

    The order to apply to the query results.

    Firestore allows callers to provide a full ordering, a partial ordering, or no ordering at all. In all cases, Firestore guarantees a stable ordering through the following rules:

    • The order_by is required to reference all fields used with an inequality filter.
    • All fields that are required to be in the order_by but are not already present are appended in lexicographical ordering of the field name.
    • If an order on name is not specified, it is appended by default.

      Fields are appended with the same sort direction as the last order specified, or 'ASCENDING' if no order was specified. For example:

    • ORDER BY a becomes ORDER BY a ASC, name ASC

    • ORDER BY a DESC becomes ORDER BY a DESC, name DESC
    • WHERE a > 1 becomes WHERE a > 1 ORDER BY a ASC, name ASC
    • WHERE name > ... AND a > 1 becomes WHERE name > ... AND a > 1 ORDER BY a ASC, name ASC

    repeated .google.firestore.v1.StructuredQuery.Order order_by = 4;

    Returns
    Type Description
    int

    getOrderByList()

    public List<StructuredQuery.Order> getOrderByList()

    The order to apply to the query results.

    Firestore allows callers to provide a full ordering, a partial ordering, or no ordering at all. In all cases, Firestore guarantees a stable ordering through the following rules:

    • The order_by is required to reference all fields used with an inequality filter.
    • All fields that are required to be in the order_by but are not already present are appended in lexicographical ordering of the field name.
    • If an order on name is not specified, it is appended by default.

      Fields are appended with the same sort direction as the last order specified, or 'ASCENDING' if no order was specified. For example:

    • ORDER BY a becomes ORDER BY a ASC, name ASC

    • ORDER BY a DESC becomes ORDER BY a DESC, name DESC
    • WHERE a > 1 becomes WHERE a > 1 ORDER BY a ASC, name ASC
    • WHERE name > ... AND a > 1 becomes WHERE name > ... AND a > 1 ORDER BY a ASC, name ASC

    repeated .google.firestore.v1.StructuredQuery.Order order_by = 4;

    Returns
    Type Description
    List<Order>

    getOrderByOrBuilder(int index)

    public StructuredQuery.OrderOrBuilder getOrderByOrBuilder(int index)

    The order to apply to the query results.

    Firestore allows callers to provide a full ordering, a partial ordering, or no ordering at all. In all cases, Firestore guarantees a stable ordering through the following rules:

    • The order_by is required to reference all fields used with an inequality filter.
    • All fields that are required to be in the order_by but are not already present are appended in lexicographical ordering of the field name.
    • If an order on name is not specified, it is appended by default.

      Fields are appended with the same sort direction as the last order specified, or 'ASCENDING' if no order was specified. For example:

    • ORDER BY a becomes ORDER BY a ASC, name ASC

    • ORDER BY a DESC becomes ORDER BY a DESC, name DESC
    • WHERE a > 1 becomes WHERE a > 1 ORDER BY a ASC, name ASC
    • WHERE name > ... AND a > 1 becomes WHERE name > ... AND a > 1 ORDER BY a ASC, name ASC

    repeated .google.firestore.v1.StructuredQuery.Order order_by = 4;

    Parameter
    Name Description
    index int
    Returns
    Type Description
    StructuredQuery.OrderOrBuilder

    getOrderByOrBuilderList()

    public List<? extends StructuredQuery.OrderOrBuilder> getOrderByOrBuilderList()

    The order to apply to the query results.

    Firestore allows callers to provide a full ordering, a partial ordering, or no ordering at all. In all cases, Firestore guarantees a stable ordering through the following rules:

    • The order_by is required to reference all fields used with an inequality filter.
    • All fields that are required to be in the order_by but are not already present are appended in lexicographical ordering of the field name.
    • If an order on name is not specified, it is appended by default.

      Fields are appended with the same sort direction as the last order specified, or 'ASCENDING' if no order was specified. For example:

    • ORDER BY a becomes ORDER BY a ASC, name ASC

    • ORDER BY a DESC becomes ORDER BY a DESC, name DESC
    • WHERE a > 1 becomes WHERE a > 1 ORDER BY a ASC, name ASC
    • WHERE name > ... AND a > 1 becomes WHERE name > ... AND a > 1 ORDER BY a ASC, name ASC

    repeated .google.firestore.v1.StructuredQuery.Order order_by = 4;

    Returns
    Type Description
    List<? extends com.google.firestore.v1.StructuredQuery.OrderOrBuilder>

    getSelect()

    public StructuredQuery.Projection getSelect()

    Optional sub-set of the fields to return.

    This acts as a DocumentMask over the documents returned from a query. When not set, assumes that the caller wants all fields returned.

    .google.firestore.v1.StructuredQuery.Projection select = 1;

    Returns
    Type Description
    StructuredQuery.Projection

    The select.

    getSelectBuilder()

    public StructuredQuery.Projection.Builder getSelectBuilder()

    Optional sub-set of the fields to return.

    This acts as a DocumentMask over the documents returned from a query. When not set, assumes that the caller wants all fields returned.

    .google.firestore.v1.StructuredQuery.Projection select = 1;

    Returns
    Type Description
    StructuredQuery.Projection.Builder

    getSelectOrBuilder()

    public StructuredQuery.ProjectionOrBuilder getSelectOrBuilder()

    Optional sub-set of the fields to return.

    This acts as a DocumentMask over the documents returned from a query. When not set, assumes that the caller wants all fields returned.

    .google.firestore.v1.StructuredQuery.Projection select = 1;

    Returns
    Type Description
    StructuredQuery.ProjectionOrBuilder

    getStartAt()

    public Cursor getStartAt()

    A potential prefix of a position in the result set to start the query at.

    The ordering of the result set is based on the ORDER BY clause of the original query.

    ` SELECT * FROM k WHERE a = 1 AND b > 2 ORDER BY b ASC, name ASC;

    This query's results are ordered by (b ASC, name ASC).

    Cursors can reference either the full ordering or a prefix of the location, though it cannot reference more fields than what are in the provided ORDER BY.

    Continuing off the example above, attaching the following start cursors will have varying impact:

    START BEFORE (2, /k/123): start the query right before a = 1 AND b > 2 AND name > /k/123.
  • START AFTER (10): start the query right after a = 1 AND b > 10.

    Unlike OFFSET which requires scanning over the first N results to skip, a start cursor allows the query to begin at a logical position. This position is not required to match an actual result, it will scan forward from this position to find the next document.

    Requires:

  • The number of values cannot be greater than the number of fields specified in the

  • ORDER BY` clause.

    .google.firestore.v1.Cursor start_at = 7;

    Returns
    Type Description
    Cursor

    The startAt.

    getStartAtBuilder()

    public Cursor.Builder getStartAtBuilder()

    A potential prefix of a position in the result set to start the query at.

    The ordering of the result set is based on the ORDER BY clause of the original query.

    ` SELECT * FROM k WHERE a = 1 AND b > 2 ORDER BY b ASC, name ASC;

    This query's results are ordered by (b ASC, name ASC).

    Cursors can reference either the full ordering or a prefix of the location, though it cannot reference more fields than what are in the provided ORDER BY.

    Continuing off the example above, attaching the following start cursors will have varying impact:

    START BEFORE (2, /k/123): start the query right before a = 1 AND b > 2 AND name > /k/123.
  • START AFTER (10): start the query right after a = 1 AND b > 10.

    Unlike OFFSET which requires scanning over the first N results to skip, a start cursor allows the query to begin at a logical position. This position is not required to match an actual result, it will scan forward from this position to find the next document.

    Requires:

  • The number of values cannot be greater than the number of fields specified in the

  • ORDER BY` clause.

    .google.firestore.v1.Cursor start_at = 7;

    Returns
    Type Description
    Cursor.Builder

    getStartAtOrBuilder()

    public CursorOrBuilder getStartAtOrBuilder()

    A potential prefix of a position in the result set to start the query at.

    The ordering of the result set is based on the ORDER BY clause of the original query.

    ` SELECT * FROM k WHERE a = 1 AND b > 2 ORDER BY b ASC, name ASC;

    This query's results are ordered by (b ASC, name ASC).

    Cursors can reference either the full ordering or a prefix of the location, though it cannot reference more fields than what are in the provided ORDER BY.

    Continuing off the example above, attaching the following start cursors will have varying impact:

    START BEFORE (2, /k/123): start the query right before a = 1 AND b > 2 AND name > /k/123.
  • START AFTER (10): start the query right after a = 1 AND b > 10.

    Unlike OFFSET which requires scanning over the first N results to skip, a start cursor allows the query to begin at a logical position. This position is not required to match an actual result, it will scan forward from this position to find the next document.

    Requires:

  • The number of values cannot be greater than the number of fields specified in the

  • ORDER BY` clause.

    .google.firestore.v1.Cursor start_at = 7;

    Returns
    Type Description
    CursorOrBuilder

    getWhere()

    public StructuredQuery.Filter getWhere()

    The filter to apply.

    .google.firestore.v1.StructuredQuery.Filter where = 3;

    Returns
    Type Description
    StructuredQuery.Filter

    The where.

    getWhereBuilder()

    public StructuredQuery.Filter.Builder getWhereBuilder()

    The filter to apply.

    .google.firestore.v1.StructuredQuery.Filter where = 3;

    Returns
    Type Description
    StructuredQuery.Filter.Builder

    getWhereOrBuilder()

    public StructuredQuery.FilterOrBuilder getWhereOrBuilder()

    The filter to apply.

    .google.firestore.v1.StructuredQuery.Filter where = 3;

    Returns
    Type Description
    StructuredQuery.FilterOrBuilder

    hasEndAt()

    public boolean hasEndAt()

    A potential prefix of a position in the result set to end the query at.

    This is similar to START_AT but with it controlling the end position rather than the start position.

    Requires:

    • The number of values cannot be greater than the number of fields specified in the ORDER BY clause.

    .google.firestore.v1.Cursor end_at = 8;

    Returns
    Type Description
    boolean

    Whether the endAt field is set.

    hasFindNearest()

    public boolean hasFindNearest()

    Optional. A potential Nearest Neighbors Search.

    Applies after all other filters and ordering.

    Finds the closest vector embeddings to the given query vector.

    .google.firestore.v1.StructuredQuery.FindNearest find_nearest = 9 [(.google.api.field_behavior) = OPTIONAL];

    Returns
    Type Description
    boolean

    Whether the findNearest field is set.

    hasLimit()

    public boolean hasLimit()

    The maximum number of results to return.

    Applies after all other constraints.

    Requires:

    • The value must be greater than or equal to zero if specified.

    .google.protobuf.Int32Value limit = 5;

    Returns
    Type Description
    boolean

    Whether the limit field is set.

    hasSelect()

    public boolean hasSelect()

    Optional sub-set of the fields to return.

    This acts as a DocumentMask over the documents returned from a query. When not set, assumes that the caller wants all fields returned.

    .google.firestore.v1.StructuredQuery.Projection select = 1;

    Returns
    Type Description
    boolean

    Whether the select field is set.

    hasStartAt()

    public boolean hasStartAt()

    A potential prefix of a position in the result set to start the query at.

    The ordering of the result set is based on the ORDER BY clause of the original query.

    ` SELECT * FROM k WHERE a = 1 AND b > 2 ORDER BY b ASC, name ASC;

    This query's results are ordered by (b ASC, name ASC).

    Cursors can reference either the full ordering or a prefix of the location, though it cannot reference more fields than what are in the provided ORDER BY.

    Continuing off the example above, attaching the following start cursors will have varying impact:

    START BEFORE (2, /k/123): start the query right before a = 1 AND b > 2 AND name > /k/123.
  • START AFTER (10): start the query right after a = 1 AND b > 10.

    Unlike OFFSET which requires scanning over the first N results to skip, a start cursor allows the query to begin at a logical position. This position is not required to match an actual result, it will scan forward from this position to find the next document.

    Requires:

  • The number of values cannot be greater than the number of fields specified in the

  • ORDER BY` clause.

    .google.firestore.v1.Cursor start_at = 7;

    Returns
    Type Description
    boolean

    Whether the startAt field is set.

    hasWhere()

    public boolean hasWhere()

    The filter to apply.

    .google.firestore.v1.StructuredQuery.Filter where = 3;

    Returns
    Type Description
    boolean

    Whether the where field is set.

    internalGetFieldAccessorTable()

    protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
    Returns
    Type Description
    FieldAccessorTable
    Overrides

    isInitialized()

    public final boolean isInitialized()
    Returns
    Type Description
    boolean
    Overrides

    mergeEndAt(Cursor value)

    public StructuredQuery.Builder mergeEndAt(Cursor value)

    A potential prefix of a position in the result set to end the query at.

    This is similar to START_AT but with it controlling the end position rather than the start position.

    Requires:

    • The number of values cannot be greater than the number of fields specified in the ORDER BY clause.

    .google.firestore.v1.Cursor end_at = 8;

    Parameter
    Name Description
    value Cursor
    Returns
    Type Description
    StructuredQuery.Builder

    mergeFindNearest(StructuredQuery.FindNearest value)

    public StructuredQuery.Builder mergeFindNearest(StructuredQuery.FindNearest value)

    Optional. A potential Nearest Neighbors Search.

    Applies after all other filters and ordering.

    Finds the closest vector embeddings to the given query vector.

    .google.firestore.v1.StructuredQuery.FindNearest find_nearest = 9 [(.google.api.field_behavior) = OPTIONAL];

    Parameter
    Name Description
    value StructuredQuery.FindNearest
    Returns
    Type Description
    StructuredQuery.Builder

    mergeFrom(StructuredQuery other)

    public StructuredQuery.Builder mergeFrom(StructuredQuery other)
    Parameter
    Name Description
    other StructuredQuery
    Returns
    Type Description
    StructuredQuery.Builder

    mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)

    public StructuredQuery.Builder mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
    Parameters
    Name Description
    input CodedInputStream
    extensionRegistry ExtensionRegistryLite
    Returns
    Type Description
    StructuredQuery.Builder
    Overrides
    Exceptions
    Type Description
    IOException

    mergeFrom(Message other)

    public StructuredQuery.Builder mergeFrom(Message other)
    Parameter
    Name Description
    other Message
    Returns
    Type Description
    StructuredQuery.Builder
    Overrides

    mergeLimit(Int32Value value)

    public StructuredQuery.Builder mergeLimit(Int32Value value)

    The maximum number of results to return.

    Applies after all other constraints.

    Requires:

    • The value must be greater than or equal to zero if specified.

    .google.protobuf.Int32Value limit = 5;

    Parameter
    Name Description
    value Int32Value
    Returns
    Type Description
    StructuredQuery.Builder

    mergeSelect(StructuredQuery.Projection value)

    public StructuredQuery.Builder mergeSelect(StructuredQuery.Projection value)

    Optional sub-set of the fields to return.

    This acts as a DocumentMask over the documents returned from a query. When not set, assumes that the caller wants all fields returned.

    .google.firestore.v1.StructuredQuery.Projection select = 1;

    Parameter
    Name Description
    value StructuredQuery.Projection
    Returns
    Type Description
    StructuredQuery.Builder

    mergeStartAt(Cursor value)

    public StructuredQuery.Builder mergeStartAt(Cursor value)

    A potential prefix of a position in the result set to start the query at.

    The ordering of the result set is based on the ORDER BY clause of the original query.

    ` SELECT * FROM k WHERE a = 1 AND b > 2 ORDER BY b ASC, name ASC;

    This query's results are ordered by (b ASC, name ASC).

    Cursors can reference either the full ordering or a prefix of the location, though it cannot reference more fields than what are in the provided ORDER BY.

    Continuing off the example above, attaching the following start cursors will have varying impact:

    START BEFORE (2, /k/123): start the query right before a = 1 AND b > 2 AND name > /k/123.
  • START AFTER (10): start the query right after a = 1 AND b > 10.

    Unlike OFFSET which requires scanning over the first N results to skip, a start cursor allows the query to begin at a logical position. This position is not required to match an actual result, it will scan forward from this position to find the next document.

    Requires:

  • The number of values cannot be greater than the number of fields specified in the

  • ORDER BY` clause.

    .google.firestore.v1.Cursor start_at = 7;

    Parameter
    Name Description
    value Cursor
    Returns
    Type Description
    StructuredQuery.Builder

    mergeUnknownFields(UnknownFieldSet unknownFields)

    public final StructuredQuery.Builder mergeUnknownFields(UnknownFieldSet unknownFields)
    Parameter
    Name Description
    unknownFields UnknownFieldSet
    Returns
    Type Description
    StructuredQuery.Builder
    Overrides

    mergeWhere(StructuredQuery.Filter value)

    public StructuredQuery.Builder mergeWhere(StructuredQuery.Filter value)

    The filter to apply.

    .google.firestore.v1.StructuredQuery.Filter where = 3;

    Parameter
    Name Description
    value StructuredQuery.Filter
    Returns
    Type Description
    StructuredQuery.Builder

    removeFrom(int index)

    public StructuredQuery.Builder removeFrom(int index)

    The collections to query.

    repeated .google.firestore.v1.StructuredQuery.CollectionSelector from = 2;

    Parameter
    Name Description
    index int
    Returns
    Type Description
    StructuredQuery.Builder

    removeOrderBy(int index)

    public StructuredQuery.Builder removeOrderBy(int index)

    The order to apply to the query results.

    Firestore allows callers to provide a full ordering, a partial ordering, or no ordering at all. In all cases, Firestore guarantees a stable ordering through the following rules:

    • The order_by is required to reference all fields used with an inequality filter.
    • All fields that are required to be in the order_by but are not already present are appended in lexicographical ordering of the field name.
    • If an order on name is not specified, it is appended by default.

      Fields are appended with the same sort direction as the last order specified, or 'ASCENDING' if no order was specified. For example:

    • ORDER BY a becomes ORDER BY a ASC, name ASC

    • ORDER BY a DESC becomes ORDER BY a DESC, name DESC
    • WHERE a > 1 becomes WHERE a > 1 ORDER BY a ASC, name ASC
    • WHERE name > ... AND a > 1 becomes WHERE name > ... AND a > 1 ORDER BY a ASC, name ASC

    repeated .google.firestore.v1.StructuredQuery.Order order_by = 4;

    Parameter
    Name Description
    index int
    Returns
    Type Description
    StructuredQuery.Builder

    setEndAt(Cursor value)

    public StructuredQuery.Builder setEndAt(Cursor value)

    A potential prefix of a position in the result set to end the query at.

    This is similar to START_AT but with it controlling the end position rather than the start position.

    Requires:

    • The number of values cannot be greater than the number of fields specified in the ORDER BY clause.

    .google.firestore.v1.Cursor end_at = 8;

    Parameter
    Name Description
    value Cursor
    Returns
    Type Description
    StructuredQuery.Builder

    setEndAt(Cursor.Builder builderForValue)

    public StructuredQuery.Builder setEndAt(Cursor.Builder builderForValue)

    A potential prefix of a position in the result set to end the query at.

    This is similar to START_AT but with it controlling the end position rather than the start position.

    Requires:

    • The number of values cannot be greater than the number of fields specified in the ORDER BY clause.

    .google.firestore.v1.Cursor end_at = 8;

    Parameter
    Name Description
    builderForValue Cursor.Builder
    Returns
    Type Description
    StructuredQuery.Builder

    setField(Descriptors.FieldDescriptor field, Object value)

    public StructuredQuery.Builder setField(Descriptors.FieldDescriptor field, Object value)
    Parameters
    Name Description
    field FieldDescriptor
    value Object
    Returns
    Type Description
    StructuredQuery.Builder
    Overrides

    setFindNearest(StructuredQuery.FindNearest value)

    public StructuredQuery.Builder setFindNearest(StructuredQuery.FindNearest value)

    Optional. A potential Nearest Neighbors Search.

    Applies after all other filters and ordering.

    Finds the closest vector embeddings to the given query vector.

    .google.firestore.v1.StructuredQuery.FindNearest find_nearest = 9 [(.google.api.field_behavior) = OPTIONAL];

    Parameter
    Name Description
    value StructuredQuery.FindNearest
    Returns
    Type Description
    StructuredQuery.Builder

    setFindNearest(StructuredQuery.FindNearest.Builder builderForValue)

    public StructuredQuery.Builder setFindNearest(StructuredQuery.FindNearest.Builder builderForValue)

    Optional. A potential Nearest Neighbors Search.

    Applies after all other filters and ordering.

    Finds the closest vector embeddings to the given query vector.

    .google.firestore.v1.StructuredQuery.FindNearest find_nearest = 9 [(.google.api.field_behavior) = OPTIONAL];

    Parameter
    Name Description
    builderForValue StructuredQuery.FindNearest.Builder
    Returns
    Type Description
    StructuredQuery.Builder

    setFrom(int index, StructuredQuery.CollectionSelector value)

    public StructuredQuery.Builder setFrom(int index, StructuredQuery.CollectionSelector value)

    The collections to query.

    repeated .google.firestore.v1.StructuredQuery.CollectionSelector from = 2;

    Parameters
    Name Description
    index int
    value StructuredQuery.CollectionSelector
    Returns
    Type Description
    StructuredQuery.Builder

    setFrom(int index, StructuredQuery.CollectionSelector.Builder builderForValue)

    public StructuredQuery.Builder setFrom(int index, StructuredQuery.CollectionSelector.Builder builderForValue)

    The collections to query.

    repeated .google.firestore.v1.StructuredQuery.CollectionSelector from = 2;

    Parameters
    Name Description
    index int
    builderForValue StructuredQuery.CollectionSelector.Builder
    Returns
    Type Description
    StructuredQuery.Builder

    setLimit(Int32Value value)

    public StructuredQuery.Builder setLimit(Int32Value value)

    The maximum number of results to return.

    Applies after all other constraints.

    Requires:

    • The value must be greater than or equal to zero if specified.

    .google.protobuf.Int32Value limit = 5;

    Parameter
    Name Description
    value Int32Value
    Returns
    Type Description
    StructuredQuery.Builder

    setLimit(Int32Value.Builder builderForValue)

    public StructuredQuery.Builder setLimit(Int32Value.Builder builderForValue)

    The maximum number of results to return.

    Applies after all other constraints.

    Requires:

    • The value must be greater than or equal to zero if specified.

    .google.protobuf.Int32Value limit = 5;

    Parameter
    Name Description
    builderForValue Builder
    Returns
    Type Description
    StructuredQuery.Builder

    setOffset(int value)

    public StructuredQuery.Builder setOffset(int value)

    The number of documents to skip before returning the first result.

    This applies after the constraints specified by the WHERE, START AT, & END AT but before the LIMIT clause.

    Requires:

    • The value must be greater than or equal to zero if specified.

    int32 offset = 6;

    Parameter
    Name Description
    value int

    The offset to set.

    Returns
    Type Description
    StructuredQuery.Builder

    This builder for chaining.

    setOrderBy(int index, StructuredQuery.Order value)

    public StructuredQuery.Builder setOrderBy(int index, StructuredQuery.Order value)

    The order to apply to the query results.

    Firestore allows callers to provide a full ordering, a partial ordering, or no ordering at all. In all cases, Firestore guarantees a stable ordering through the following rules:

    • The order_by is required to reference all fields used with an inequality filter.
    • All fields that are required to be in the order_by but are not already present are appended in lexicographical ordering of the field name.
    • If an order on name is not specified, it is appended by default.

      Fields are appended with the same sort direction as the last order specified, or 'ASCENDING' if no order was specified. For example:

    • ORDER BY a becomes ORDER BY a ASC, name ASC

    • ORDER BY a DESC becomes ORDER BY a DESC, name DESC
    • WHERE a > 1 becomes WHERE a > 1 ORDER BY a ASC, name ASC
    • WHERE name > ... AND a > 1 becomes WHERE name > ... AND a > 1 ORDER BY a ASC, name ASC

    repeated .google.firestore.v1.StructuredQuery.Order order_by = 4;

    Parameters
    Name Description
    index int
    value StructuredQuery.Order
    Returns
    Type Description
    StructuredQuery.Builder

    setOrderBy(int index, StructuredQuery.Order.Builder builderForValue)

    public StructuredQuery.Builder setOrderBy(int index, StructuredQuery.Order.Builder builderForValue)

    The order to apply to the query results.

    Firestore allows callers to provide a full ordering, a partial ordering, or no ordering at all. In all cases, Firestore guarantees a stable ordering through the following rules:

    • The order_by is required to reference all fields used with an inequality filter.
    • All fields that are required to be in the order_by but are not already present are appended in lexicographical ordering of the field name.
    • If an order on name is not specified, it is appended by default.

      Fields are appended with the same sort direction as the last order specified, or 'ASCENDING' if no order was specified. For example:

    • ORDER BY a becomes ORDER BY a ASC, name ASC

    • ORDER BY a DESC becomes ORDER BY a DESC, name DESC
    • WHERE a > 1 becomes WHERE a > 1 ORDER BY a ASC, name ASC
    • WHERE name > ... AND a > 1 becomes WHERE name > ... AND a > 1 ORDER BY a ASC, name ASC

    repeated .google.firestore.v1.StructuredQuery.Order order_by = 4;

    Parameters
    Name Description
    index int
    builderForValue StructuredQuery.Order.Builder
    Returns
    Type Description
    StructuredQuery.Builder

    setRepeatedField(Descriptors.FieldDescriptor field, int index, Object value)

    public StructuredQuery.Builder setRepeatedField(Descriptors.FieldDescriptor field, int index, Object value)
    Parameters
    Name Description
    field FieldDescriptor
    index int
    value Object
    Returns
    Type Description
    StructuredQuery.Builder
    Overrides

    setSelect(StructuredQuery.Projection value)

    public StructuredQuery.Builder setSelect(StructuredQuery.Projection value)

    Optional sub-set of the fields to return.

    This acts as a DocumentMask over the documents returned from a query. When not set, assumes that the caller wants all fields returned.

    .google.firestore.v1.StructuredQuery.Projection select = 1;

    Parameter
    Name Description
    value StructuredQuery.Projection
    Returns
    Type Description
    StructuredQuery.Builder

    setSelect(StructuredQuery.Projection.Builder builderForValue)

    public StructuredQuery.Builder setSelect(StructuredQuery.Projection.Builder builderForValue)

    Optional sub-set of the fields to return.

    This acts as a DocumentMask over the documents returned from a query. When not set, assumes that the caller wants all fields returned.

    .google.firestore.v1.StructuredQuery.Projection select = 1;

    Parameter
    Name Description
    builderForValue StructuredQuery.Projection.Builder
    Returns
    Type Description
    StructuredQuery.Builder

    setStartAt(Cursor value)

    public StructuredQuery.Builder setStartAt(Cursor value)

    A potential prefix of a position in the result set to start the query at.

    The ordering of the result set is based on the ORDER BY clause of the original query.

    ` SELECT * FROM k WHERE a = 1 AND b > 2 ORDER BY b ASC, name ASC;

    This query's results are ordered by (b ASC, name ASC).

    Cursors can reference either the full ordering or a prefix of the location, though it cannot reference more fields than what are in the provided ORDER BY.

    Continuing off the example above, attaching the following start cursors will have varying impact:

    START BEFORE (2, /k/123): start the query right before a = 1 AND b > 2 AND name > /k/123.
  • START AFTER (10): start the query right after a = 1 AND b > 10.

    Unlike OFFSET which requires scanning over the first N results to skip, a start cursor allows the query to begin at a logical position. This position is not required to match an actual result, it will scan forward from this position to find the next document.

    Requires:

  • The number of values cannot be greater than the number of fields specified in the

  • ORDER BY` clause.

    .google.firestore.v1.Cursor start_at = 7;

    Parameter
    Name Description
    value Cursor
    Returns
    Type Description
    StructuredQuery.Builder

    setStartAt(Cursor.Builder builderForValue)

    public StructuredQuery.Builder setStartAt(Cursor.Builder builderForValue)

    A potential prefix of a position in the result set to start the query at.

    The ordering of the result set is based on the ORDER BY clause of the original query.

    ` SELECT * FROM k WHERE a = 1 AND b > 2 ORDER BY b ASC, name ASC;

    This query's results are ordered by (b ASC, name ASC).

    Cursors can reference either the full ordering or a prefix of the location, though it cannot reference more fields than what are in the provided ORDER BY.

    Continuing off the example above, attaching the following start cursors will have varying impact:

    START BEFORE (2, /k/123): start the query right before a = 1 AND b > 2 AND name > /k/123.
  • START AFTER (10): start the query right after a = 1 AND b > 10.

    Unlike OFFSET which requires scanning over the first N results to skip, a start cursor allows the query to begin at a logical position. This position is not required to match an actual result, it will scan forward from this position to find the next document.

    Requires:

  • The number of values cannot be greater than the number of fields specified in the

  • ORDER BY` clause.

    .google.firestore.v1.Cursor start_at = 7;

    Parameter
    Name Description
    builderForValue Cursor.Builder
    Returns
    Type Description
    StructuredQuery.Builder

    setUnknownFields(UnknownFieldSet unknownFields)

    public final StructuredQuery.Builder setUnknownFields(UnknownFieldSet unknownFields)
    Parameter
    Name Description
    unknownFields UnknownFieldSet
    Returns
    Type Description
    StructuredQuery.Builder
    Overrides

    setWhere(StructuredQuery.Filter value)

    public StructuredQuery.Builder setWhere(StructuredQuery.Filter value)

    The filter to apply.

    .google.firestore.v1.StructuredQuery.Filter where = 3;

    Parameter
    Name Description
    value StructuredQuery.Filter
    Returns
    Type Description
    StructuredQuery.Builder

    setWhere(StructuredQuery.Filter.Builder builderForValue)

    public StructuredQuery.Builder setWhere(StructuredQuery.Filter.Builder builderForValue)

    The filter to apply.

    .google.firestore.v1.StructuredQuery.Filter where = 3;

    Parameter
    Name Description
    builderForValue StructuredQuery.Filter.Builder
    Returns
    Type Description
    StructuredQuery.Builder