code: function StructuredQuery(properties) {
                      this.from = [];
                      this.orderBy = [];
                      if (properties)
                          for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                              if (properties[keys[i]] != null)
                                  this[keys[i]] = properties[keys[i]];
                  }
docs: Properties of a StructuredQuery.
  @memberof google.firestore.v1
  @interface IStructuredQuery
  @property {google.firestore.v1.StructuredQuery.IProjection|null} [select] StructuredQuery select
  @property {Array.<google.firestore.v1.StructuredQuery.ICollectionSelector>|null} [from] StructuredQuery from
  @property {google.firestore.v1.StructuredQuery.IFilter|null} [where] StructuredQuery where
  @property {Array.<google.firestore.v1.StructuredQuery.IOrder>|null} [orderBy] StructuredQuery orderBy
  @property {google.firestore.v1.ICursor|null} [startAt] StructuredQuery startAt
  @property {google.firestore.v1.ICursor|null} [endAt] StructuredQuery endAt
  @property {number|null} [offset] StructuredQuery offset
  @property {google.protobuf.IInt32Value|null} [limit] StructuredQuery limit
   
  Constructs a new StructuredQuery.
  @memberof google.firestore.v1
  @classdesc Represents a StructuredQuery.
  @implements IStructuredQuery
  @constructor
  @param {google.firestore.v1.IStructuredQuery=} [properties] Properties to set