_)mこんにちわ!マツウラです。Datastoreクエリについてです。今回はエンティティ全体を取得する通常のクエリに対して、任意のプロパティ値のみを取得することが可能なプロジェクションクエリについてです。それではGo言語での基本的な使い方を見てゆきます。Queries多くの場合、アプリケーションが必要とするのはいくつかのプロパティだけです。プロジェクションクエリは必要なプロパティについてのみ照会することが出来ます。プロジェクションクエリはSQLクエリに似ています。CUSTOMERプロジェクションクエリでは標準的なエンティティクエリで使用可能であったフィルタリングやソート機能はすべて使用することが可能です。クエリは設定したプロパティのみに要約した結果を返します。その他のプロパティ値は持ちません。Goでプロジェクションクエリを使うプロジェクションクエリを作成するには、Projectメソッドを使います。"LastName")クエリの結果の処理は標準的なエンティティを取得するクエリと同じです。DateWrittenプロパティについてのクエリです。DateWrittenで昇順ソートし、各プロパティ値をログに書き込みます。e.DateWritten)}制限インデックス付きプロパティのみ500文字以上になる文字列、要素数が500以上のbyte配列、明示的にインデックス付けされていないプロパティは非サポートです。1このようにプロジェクションプロパティで等式フィルタを使用する場合は無効です。プロジェクションクエリによって返る結果はデータストアに保存しない方が良いここで返される結果は不完全なエンティティデータになるので、データストアに書き込むと従来のエンティティを損なうことになります。複数の値を持つプロパティ複数の値を持つプロパティに対してプロジェクションクエリを実行しても、その値をそのまま全て取得することは出来ません。代わりに、クエリに一致するプロジェクション値の一意の組み合わせ毎に、別々のエンティティとして返されます。複数の値をもつプロパティAとBを持つ種類Fooのエンティティがあるとします。"x"}}次のプロジェクションクエリは以下の組み合わせで4つのエンティティが返されます。Engineでお決まりのことですが、プロパティに複数の値をもっているものに対してクエリを実行する場合、インデックス爆発を起こす恐れがあるので注意して下さい。インデックスプロジェクションクエリはプロジェクションで指定する全てのプロパティについてデータストアインデックスが必要です。Engineの開発サーバーでは、インデックス設定ファイルであるindex.yamlに必要なインデックスを自動的に生成し、アプリケーションと一緒にアップロードされます。テストなどで全てのクエリを試行している場合はあまり気にする必要はないかもしれません。今回はプロジェクションクエリについて基本的な部分を見てゆきました。次回はトランザクションについて見てゆきます。(2)月別アーカイブリンクはてなブログブログをはじめる週刊はてなブログはてなブログPro参加グループプログラミングテクノロジーはてなブログをはじめよう!knightsoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。