|
30 | 30 | AliasedExpression, |
31 | 31 | BooleanExpression, |
32 | 32 | CONSTANT_TYPE, |
| 33 | + DocumentMatches, |
33 | 34 | Expression, |
34 | 35 | Field, |
35 | 36 | Ordering, |
@@ -152,15 +153,14 @@ def __init__( |
152 | 153 | language_code (Optional[str]): The BCP-47 language code of text in the search query, such as "en-US" or "sr-Latn". |
153 | 154 | """ |
154 | 155 | if isinstance(query, str): |
155 | | - from google.cloud.firestore_v1.pipeline_expressions import DocumentMatches |
156 | 156 | self.query = DocumentMatches(query) |
157 | 157 | else: |
158 | 158 | self.query = query |
159 | 159 | self.limit = limit |
160 | 160 | self.retrieval_depth = retrieval_depth |
161 | 161 | self.sort = [sort] if isinstance(sort, Ordering) else sort |
162 | 162 | self.add_fields = add_fields |
163 | | - self.select = select |
| 163 | + self.select = [Field(s) if isinstance(s, str) else s for s in select] if select is not None else None |
164 | 164 | self.offset = offset |
165 | 165 | self.query_enhancement = ( |
166 | 166 | QueryEnhancement(query_enhancement.lower()) if isinstance(query_enhancement, str) else query_enhancement |
@@ -523,10 +523,8 @@ def _pb_options(self) -> dict[str, Value]: |
523 | 523 | if self.options.sort is not None: |
524 | 524 | options["sort"] = Value(array_value={"values": [s._to_pb() for s in self.options.sort]}) |
525 | 525 | if self.options.add_fields is not None: |
526 | | - from google.cloud.firestore_v1.pipeline_expressions import Selectable |
527 | 526 | options["add_fields"] = Selectable._to_value(self.options.add_fields) |
528 | 527 | if self.options.select is not None: |
529 | | - from google.cloud.firestore_v1.pipeline_expressions import Selectable |
530 | 528 | options["select"] = Selectable._to_value(self.options.select) |
531 | 529 | if self.options.offset is not None: |
532 | 530 | options["offset"] = Value(integer_value=self.options.offset) |
|
0 commit comments