問題タブ [google-cloud-datastore]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
805 参照

python - データストアクエリのn番目のレコードを取得する方法

GAEにモデルFooがあり、次のクエリがあるとします。

query = Foo.all()。order('- key ')

n番目のレコードを取得したい。それを達成するための最も効率的な方法は何ですか?

以下のように、順序付けプロパティが一意でない場合、ソリューションは機能しなくなりますか?

query = Foo.all()。order('- color ')

編集:n> 1000

編集2:利用可能なページ(ページ1、ページ2、...ページ185など)を表示し、クエリ文字列に「?ブックマーク」ではなく「?page=x」を必要とするわかりやすいページングメカニズムを開発したい=XXX"。page = xの場合、クエリはそのページの最初のレコードから始まるレコードをフェッチすることです。

0 投票する
3 に答える
381 参照

python - データストアトランザクションの制限

私のグーグルアプリアプリケーションでは、ユーザーがいくつかの契約を購入するたびに、これらのイベントが実行されます(わかりやすくするために簡略化されています)。

  • user.cashが減少します
  • user.contractsは数だけ増加します
  • Contracts.current_priceが更新されます。
  • market.no_of_transactionsが1増加します。

rdmsでは、これらは同じトランザクション内に配置されます。Googleデータストアでは、複数のモデルのエンティティを同じトランザクションに含めることはできないと思います。

この問題への正しいアプローチは何ですか?書き込みが失敗した場合に、先行するすべての書き込みがロールバックされるようにするにはどうすればよいですか?

編集:私は明らかにエンティティグループを見逃しました。今、私はそれらがどのように使用されるかに関するいくつかのさらなる情報をいただければ幸いです。明確にするもう1つのポイントは、「トランザクションに必要な場合にのみエンティティグループを使用する。エンティティ間のその他の関係については、クエリで使用できるReferencePropertyプロパティとキー値を使用する」ということです。参照プロパティ(クエリを実行する必要があるため)と親子関係(トランザクションの場合)の両方を定義する必要があるということですか?

編集2:そして最後に、エンティティが2つの親の間にn対nの関係を確立するために作成されている場合、エンティティの2つの親をどのように定義しますか?

0 投票する
1 に答える
1384 参照

google-app-engine - Google App Engine で開発データストアにライブ同期するにはどうすればよいですか?

Google App Engine のライブ データストアにいくつかのデータがありますが、ローカル開発用にローカル コピーも作成したいと考えています。不定期の同期を行う最善の方法は何ですか?

0 投票する
1 に答える
1395 参照

java - Java を使用して、Google AppEngine データストアに特定のキーのオブジェクトが存在するかどうかを確認するにはどうすればよいですか?

シャーディング カウンターの例 (code.google.com/appengine/articles/sharding_counters.html) を Java に移植しようとしています。唯一の問題は、Java API に Python の「get_by_key_name」のような呼び出しがないことです。これが基本的な考え方です:

残念ながら、これを初めて実行すると JDOObjectNotFoundException がスローされます。特定の名前のカウンターが存在するかどうかを判断するクエリを実行できますが、それはトランザクションではありません。別のスレッドが同じことを行い、最終的に両方が同じキーを持つオブジェクトを作成する可能性があります。

私が理解していることから、(Java API の) トランザクション内でサポートされている唯一の操作は get と put です。では、まだ存在していない (つまり、'get' がない) キーでオブジェクトをロックし、それを作成した最初の唯一の人物であることを確認するにはどうすればよいでしょうか?

0 投票する
8 に答える
7377 参照

java - App Engine データストアは演算子 OR をサポートしていません

次のようなものについてGoogleデータストアにクエリを実行しようとしています(pm-> persistanceManagerを使用):

実行すると、戻ってきます: App Engine データストアは演算子 OR をサポートしていません

この種のクエリに対するユーザー エクスペリエンスの最適なアプローチは何ですか?

どんな助けでも大歓迎です!

0 投票する
1 に答える
806 参照

google-app-engine - *User* タイプのクエリに関する Google データストアの問題

この質問で、次のようにGoogleデータストアにクエリを実行してユーザー(com.google.appengine.api.users.User)ごとに取得する問題を解決しました:

上記は問題なく動作しますが、少しいじった後、より複雑なクエリを作成する必要があるため、この構文はあまり実用的ではないことに気付きました.通常、フィルタは文字列変数として渡されますが、簡単にするためにインラインで作成されています):

field = 'value'この構文がJDOQLでサポートされていて、他のフィールド (文字列型と列挙型) で正常に機能する場合でも、明らかにこれは機能しません。もう1つの奇妙な点は、アプリエンジンダッシュボードのデータビューアーを見ると、「作成者」フィールドがタイプユーザーとして保存されていますが、値は「user@gmail.com」であり、パラメーターとして設定すると再び(上記の場合は正常に動作します)パラメーターを文字列として宣言してから、単純なシリアル化されたユーザー(ユーザー)のインスタンスを渡します(toString()推測します)。

誰でもアイデアはありますか?

0 投票する
1 に答える
6677 参照

java - 複数のパラメーターで JDO クエリを動的に構築する方法

次のように、JDO 構文を使用して複数のパラメーターを簡単に照会できます。

フィルターを使用してプログラムで文字列を作成するのは簡単です。

params 宣言を含む別の文字列:

即時ではないのは、どのパラメーターがフィルターに含まれているか (および宣言されているか) に応じてクエリを実行するための戦略を考え出すことです。クエリ実行の可能な順列 (すべてのパラメーター、最初のみ、2 番目のみ、1 番目と 2 番目など...):

これは一般的なタスクであり、他の誰かがより一般的で効率的な方法でそれを行っていると確信しています。

なにか提案を?

0 投票する
6 に答える
11686 参照

java - GWT と JDO の問題

GWT を使い始めたばかりですが、GWT + JAVA + JDO + Google AppEngine を DataStore で動作させるのに本当に苦労しています。別のチュートリアルに従おうとしましたが、うまくいきませんでした。たとえば、次のチュートリアルに進みます: TUT1 TUT2

これを機能させるためにどのように、何をする必要があるかを理解できませんでした。私の簡単なコードを見て、データストアに保存できるようにするために何をする必要があるか教えてください:

1. アドレス実体

2. 個人エンティティ

3. RPCCall

4.RPCCallsService

5.RPCCallsServiceAsync

6. **RPCCalls.gwt.xml

これらのチュートリアルで Key クラスとその他すべてを追加しようとしましたが、何かが足りないようです。

これが私のエラーです: 代替テキスト http://vasura.s3.amazonaws.com/Picture2.png

または、このエラーが発生する前に:

キーをタイプに解決できません

これを機能させるための最良の解決策は何ですか?

0 投票する
1 に答える
769 参照

google-app-engine - 埋め込まれたキー/値データストアが最終的に App Engine の制限を超える可能性はありますか?

Google Datastore を使用しない Google App Engine プロジェクトに、BerkeleyDBキー/値データストアが埋め込まれています。

アプリケーションを Google App Engine にアップロードすると、データベースは 1MB 未満になります。

しかし、時間の経過とともに、最終的に App Engine のファイル サイズの制限を超える可能性はありますか?

その結果、実行中の本番アプリケーションにどのような影響がありますか?

0 投票する
2 に答える
1638 参照

java - Google App Engine(低レベルAPI)ですべての子エンティティを取得するにはどうすればよいですか

Google App Engine for Javaで低レベルのAPIを使用しており、特定の親エンティティのすべての子エンティティを取得したいと考えています。

次のグラフがあるとします。

次のようなリストが欲しい

これが私の最善の試みです: