Filter filter = options.fieldFilters.get(0).toProto(); if (filter.hasFieldFilter()) { structuredQuery.getWhereBuilder().setFieldFilter(filter.getFieldFilter()); } else { Preconditions.checkState( filter.hasUnaryFilter(), "Expected a UnaryFilter or a FieldFilter."); structuredQuery.getWhereBuilder().setUnaryFilter(filter.getUnaryFilter());
public static RunQueryRequest query( @Nullable ByteString transactionId, StructuredQuery... query) { RunQueryRequest.Builder request = RunQueryRequest.newBuilder(); request.setParent(LocalFirestoreHelper.DATABASE_NAME + "/documents"); StructuredQuery.Builder structuredQuery = request.getStructuredQueryBuilder(); structuredQuery.addFrom( StructuredQuery.CollectionSelector.newBuilder().setCollectionId("coll")); for (StructuredQuery option : query) { structuredQuery.mergeFrom(option); } CompositeFilter compositeFilter = structuredQuery.getWhere().getCompositeFilter(); if (compositeFilter.getFiltersCount() == 1) { if (compositeFilter.getFilters(0).hasFieldFilter()) { FieldFilter fieldFilter = compositeFilter.getFilters(0).getFieldFilter(); structuredQuery.getWhereBuilder().setFieldFilter(fieldFilter); } else { UnaryFilter unaryFilter = compositeFilter.getFilters(0).getUnaryFilter(); structuredQuery.getWhereBuilder().setUnaryFilter(unaryFilter); } } if (transactionId != null) { request.setTransaction(transactionId); } return request.build(); }
Filter filter = options.fieldFilters.get(0).toProto(); if (filter.hasFieldFilter()) { structuredQuery.getWhereBuilder().setFieldFilter(filter.getFieldFilter()); } else { Preconditions.checkState( filter.hasUnaryFilter(), "Expected a UnaryFilter or a FieldFilter."); structuredQuery.getWhereBuilder().setUnaryFilter(filter.getUnaryFilter());
public static StructuredQuery filter( StructuredQuery.FieldFilter.Operator operator, String path, Value value) { StructuredQuery.Builder structuredQuery = StructuredQuery.newBuilder(); StructuredQuery.CompositeFilter.Builder compositeFilter = structuredQuery.getWhereBuilder().getCompositeFilterBuilder(); compositeFilter.setOp(StructuredQuery.CompositeFilter.Operator.AND); StructuredQuery.FieldFilter.Builder fieldFilter = compositeFilter.addFiltersBuilder().getFieldFilterBuilder(); fieldFilter.setField(StructuredQuery.FieldReference.newBuilder().setFieldPath(path)); fieldFilter.setOp(operator); fieldFilter.setValue(value); return structuredQuery.build(); }
public static StructuredQuery unaryFilter(StructuredQuery.UnaryFilter.Operator operator) { StructuredQuery.Builder structuredQuery = StructuredQuery.newBuilder(); StructuredQuery.CompositeFilter.Builder compositeFilter = structuredQuery.getWhereBuilder().getCompositeFilterBuilder(); compositeFilter.setOp(StructuredQuery.CompositeFilter.Operator.AND); StructuredQuery.UnaryFilter.Builder fieldFilter = compositeFilter.addFiltersBuilder().getUnaryFilterBuilder(); fieldFilter.setField(StructuredQuery.FieldReference.newBuilder().setFieldPath("foo")); fieldFilter.setOp(operator); return structuredQuery.build(); }