フィードバックを送信
StructuredQuery
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
田畑 select
object ( Projection
)
返されるフィールドのオプションのサブセット。
これは、クエリから返されたドキュメントに対するDocumentMask
として機能します。設定されていない場合、呼び出し元はすべてのフィールドが返されることを望んでいるとみなされます。
from[]
object ( CollectionSelector
)
クエリするコレクション。
where
object ( Filter
)
適用するフィルター。
orderBy[]
object ( Order
)
クエリ結果に適用する順序。
Firestore を使用すると、呼び出し元は完全な順序付け、部分的な順序付け、またはまったく順序付けを行わないことができます。どのような場合でも、Firestore は次のルールに従って安定した順序付けを保証します。
orderBy
不等式フィルターで使用されるすべてのフィールドを参照するために必要です。 orderBy
に存在する必要があるがまだ存在していないすべてのフィールドは、フィールド名の辞書順で追加されます。 __name__
の順序が指定されていない場合は、デフォルトで追加されます。 フィールドは、最後に指定された順序と同じ並べ替え方向で追加されるか、順序が指定されていない場合は「ASCENDING」で追加されます。例えば:
ORDER BY a
はORDER BY a ASC, __name__ ASC
なります。 ORDER BY a DESC
ORDER BY a DESC, __name__ DESC
なります WHERE a > 1
WHERE a > 1 ORDER BY a ASC, __name__ ASC
なりますWHERE __name__ > ... AND a > 1
WHERE __name__ > ... AND a > 1 ORDER BY a ASC, __name__ ASC
なりますstartAt
object ( Cursor
)
クエリを開始する結果セット内の位置の潜在的なプレフィックス。
結果セットの順序付けは、元のクエリのORDER BY
句に基づきます。
SELECT * FROM k WHERE a = 1 AND b > 2 ORDER BY b ASC, __name__ ASC;
このクエリの結果は(b ASC, __name__ ASC)
の順に並べられます。
カーソルは、完全な順序付けまたは場所のプレフィックスのいずれかを参照できますが、指定されたORDER BY
に含まれるフィールドを超えるフィールドを参照することはできません。
上記の例を続けて、次の開始カーソルをアタッチすると、さまざまな影響が生じます。
START BEFORE (2, /k/123)
: a = 1 AND b > 2 AND __name__ > /k/123
直前からクエリを開始します。 START AFTER (10)
: a = 1 AND b > 10
の直後にクエリを開始します。 最初の N 個の結果をスキャンしてスキップする必要があるOFFSET
とは異なり、開始カーソルを使用すると、クエリを論理位置から開始できます。この位置は実際の結果と一致する必要はありません。次のドキュメントを見つけるためにこの位置から前方にスキャンされます。
必要:
値の数は、 ORDER BY
句で指定されたフィールドの数を超えることはできません。 endAt
object ( Cursor
)
クエリを終了する結果セット内の位置の潜在的なプレフィックス。
これはSTART_AT
に似ていますが、開始位置ではなく終了位置を制御します。
必要:
値の数は、 ORDER BY
句で指定されたフィールドの数を超えることはできません。 offset
integer
最初の結果を返す前にスキップするドキュメントの数。
これは、 WHERE
、 START AT
、 & END AT
で指定された制約の後、 LIMIT
句の前に適用されます。
必要:
指定する場合、値は 0 以上である必要があります。 limit
integer
返される結果の最大数。
他のすべての制約の後に適用されます。
必要:
指定する場合、値は 0 以上である必要があります。
投影 田畑 fields[]
object ( FieldReference
)
返されるフィールド。
空の場合、すべてのフィールドが返されます。ドキュメントの名前のみを返すには、 ['__name__']
を使用します。
コレクションセレクター messages as m1
などのコレクションの選択。
JSON表現 {
"collectionId" : string ,
"allDescendants" : boolean
}
田畑 collectionId
string
コレクションID。設定すると、この ID を持つコレクションのみが選択されます。
allDescendants
boolean
false の場合、含まれるRunQueryRequest
で指定されたparent
の直接の子であるコレクションのみが選択されます。 true の場合、すべての子孫コレクションが選択されます。
フィルター JSON表現 {
// Union field filter_type
can be only one of the following:
"compositeFilter" : {
object (CompositeFilter
)
} ,
"fieldFilter" : {
object (FieldFilter
)
} ,
"unaryFilter" : {
object (UnaryFilter
)
}
// End of list of possible types for union field filter_type
.
}
田畑 ユニオンフィールドfilter_type
。フィルターの種類。 filter_type
次のいずれか 1 つだけです。 compositeFilter
object ( CompositeFilter
)
複合フィルター。
fieldFilter
object ( FieldFilter
)
ドキュメントフィールドのフィルター。
unaryFilter
object ( UnaryFilter
)
引数を 1 つだけ取るフィルター。
複合フィルタ 指定された演算子を使用して他の複数のフィルターをマージするフィルター。
田畑 op
enum ( Operator
)
複数のフィルターを組み合わせる演算子。
filters[]
object ( Filter
)
組み合わせるフィルターのリスト。
必要:
オペレーター 列挙型 OPERATOR_UNSPECIFIED
不特定。この値は使用してはなりません。 AND
結合されたフィルターをすべて満たすには、ドキュメントが必要です。 OR
ドキュメントは、結合されたフィルターの少なくとも 1 つを満たす必要があります。
フィールドフィルター 田畑 field
object ( FieldReference
)
フィルタリングするフィールド。
op
enum ( Operator
)
フィルターに使用する演算子。
value
object ( Value
)
比較する値。
オペレーター 列挙型 OPERATOR_UNSPECIFIED
不特定。この値は使用してはなりません。 LESS_THAN
指定されたfield
指定されたvalue
より小さいです。
必要:
LESS_THAN_OR_EQUAL
指定されたfield
指定されたvalue
以下です。
必要:
GREATER_THAN
指定されたfield
指定されたvalue
より大きいです。
必要:
GREATER_THAN_OR_EQUAL
指定されたfield
指定されたvalue
以上です。
必要:
EQUAL
指定されたfield
は指定されたvalue
と等しくなります。 NOT_EQUAL
指定されたfield
指定されたvalue
と等しくありません。
必要:
他のNOT_EQUAL
、 NOT_IN
、 IS_NOT_NULL
、またはIS_NOT_NAN
ありません。 このfield
orderBy
の最初に来ます。 ARRAY_CONTAINS
指定されたfield
指定されたvalue
を含む配列です。 IN
指定されたfield
指定された配列内の少なくとも 1 つの値と等しくなります。
必要:
そのvalue
空ではないArrayValue
であり、論理和制限の対象となります。 同じクエリ内にNOT_IN
フィルターはありません。 ARRAY_CONTAINS_ANY
指定されたfield
指定された配列内の値のいずれかを含む配列です。
必要:
そのvalue
空ではないArrayValue
であり、論理和制限の対象となります。 同じ論理和内に他のARRAY_CONTAINS_ANY
フィルタはありません。 同じクエリ内にNOT_IN
フィルターはありません。 NOT_IN
field
の値が指定された配列にありません。
必要:
そのvalue
最大 10 個の値を持つ空ではないArrayValue
です。 その他のOR
、 IN
、 ARRAY_CONTAINS_ANY
、 NOT_IN
、 NOT_EQUAL
、 IS_NOT_NULL
、またはIS_NOT_NAN
使用できません。 このfield
orderBy
の最初に来ます。
単項フィルター JSON表現 {
"op" : enum (Operator
) ,
// Union field operand_type
can be only one of the following:
"field" : {
object (FieldReference
)
}
// End of list of possible types for union field operand_type
.
}
田畑 op
enum ( Operator
)
適用する単項演算子。
共用体フィールドoperand_type
。フィルターへの引数。 operand_type
次のいずれか 1 つだけです。 field
object ( FieldReference
)
演算子を適用するフィールド。
オペレーター 列挙型 OPERATOR_UNSPECIFIED
不特定。この値は使用してはなりません。 IS_NAN
指定されたfield
はNaN
と等しくなります。 IS_NULL
指定されたfield
はNULL
に等しいです。 IS_NOT_NAN
指定されたfield
NaN
と等しくありません。
必要:
他のNOT_EQUAL
、 NOT_IN
、 IS_NOT_NULL
、またはIS_NOT_NAN
ありません。 このfield
orderBy
の最初に来ます。 IS_NOT_NULL
指定されたfield
はNULL
に等しくありません。
必要:
単一のNOT_EQUAL
、 NOT_IN
、 IS_NOT_NULL
、またはIS_NOT_NAN
。 このfield
orderBy
の最初に来ます。
方向 列挙型 DIRECTION_UNSPECIFIED
不特定。 ASCENDING
上昇。 DESCENDING
降下中。
フィードバックを送信
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンス により使用許諾されます。コードサンプルは Apache 2.0 ライセンス により使用許諾されます。詳しくは、Google Developers サイトのポリシー をご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2023-12-01 UTC。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"必要な情報がない"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"複雑すぎる / 手順が多すぎる"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"最新ではない"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻訳に関する問題"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"サンプル / コードに問題がある"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"その他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"わかりやすい"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"問題の解決に役立った"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"その他"
}]
ご意見をお聞かせください