問題タブ [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 に答える
4011 参照

python - Google App Engine で「で始まる」クエリと「で終わる」クエリを実装する

Python を使用して Datastore モデルに対して開始クエリまたは終了クエリを実装する方法について、誰かがガイダンスを提供できるかどうか疑問に思っていますか?

疑似コードでは、次のように機能します...

プロパティ P が X で始まるすべてのエンティティ A のクエリ

また

プロパティ P が X で終わるすべてのエンティティ B のクエリ

ありがとう、マット

0 投票する
4 に答える
779 参照

python - ユーザーのお気に入りのストーリーを見つけるための優れたデータ モデル

オリジナルデザイン

これが私が最初にModelsセットアップした方法です:

ストーリーを表示するすべてのページで、現在のユーザーの UserData をクエリします。

新しいデザイン

Google I/O 2009 - Scalable, Complex Apps on App Engineの講演を見た後、もっと効率的にセットアップできないかと考えました。

Story Model同じですが、 を削除しましたUserData Model。new の各インスタンスには、親としてインスタンスFavoriteIndex Modelがあります。Storyそして、それぞれがそのプロパティFavoriteIndexにユーザー ID のリストを格納しfavorited_byます。

特定のユーザーがお気に入りにしたすべてのストーリーを検索したい場合:

このアプローチは、ListProperty に関連付けられているシリアル化/逆シリアル化を回避します。

効率とシンプルさ

特にユーザーが 300 のストーリーをお気に入りに登録した後では、新しいデザインがどれほど効率的かはわかりませんが、私が気に入っている理由は次のとおりです。

  1. お気に入りのストーリーは、ユーザーではなくユーザーに関連付けられていますuser data

  2. を表示するページでは、お気に入りに追加されstoryているかどうかを簡単にstory確認できます (ユーザー データで満たされた別のエンティティを呼び出す必要はありません)。

    /li>
  3. ストーリーをお気に入りにしたすべてのユーザーのリストを取得するのも簡単です (#2 の方法を使用)。

もっと簡単な方法はありますか?

助けてください。この種のことは通常どのように行われますか?

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

java - GoogleAppEngineデータストアのマルチフィールドキー

問題は、このオブジェクトが永続化されたときにそれ自体を上書きし続け、次のリビジョンで新しい「レコード」を作成しないことです。従来のRDBMSでは、2列の主キーになります。

Google App Engine Datastoreでこれを実現するにはどうすればよいですか?

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

google-app-engine - ユーザーのuser_id()をデータストアに配置するためにどのプロパティタイプを使用しますか?

これが、user_id()をデータストアに配置する必要がある理由です。

ユーザーが自分の電子メールアドレスを変更しても、データストアのユーザー値は更新されません。これは、将来のリリースで修正される可能性があります。それまでは、ユーザー値のuser_id()をユーザーの安定した一意の識別子として使用できます。

http://code.google.com/appengine/docs/python/datastore/typesandpropertyclasses.html#users_User

データストア内では、値は電子メールアドレスにユーザーの一意のIDを加えたものに等しくなります。ユーザーがメールアドレスを変更した場合、新しいユーザー値は、データストアクエリで、またはアプリで比較したときに、元のユーザー値と等しくなりません。アプリに変更されない安定した識別子が必要な場合は、ユーザー値とは別に一意のIDを保存できます。

http://code.google.com/appengine/docs/python/users/userobjects.html

どうすればいいのですか?

そして、どうやって知ったのですか(またはどこで調べましたか?)

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

python - データストアに存在する一連のキーを特定する最適な方法

事前に計算した同じモデルのすべてのキーが数百あります。

これらのキーには、データストア内の実際のエンティティを参照するものと、参照しないものがあります。エンティティに対応するキーを特定したいと考えています。

エンティティが存在するかどうかだけで、エンティティ内のデータを知る必要はありません。

1 つの解決策は、db.get() を使用することです。

ただし、この手順ではストアからすべてのエンティティ データがフェッチされるため、不要でコストがかかります。

2 番目のアイデアは、疑似フィルターの要件に合わせて 30 個のチャンクで手動でフェッチする、INフィルターを onにしたクエリを使用することです。ただし、キーのみのクエリはフィルターでは許可されていません。key_nameININ

より良い方法はありますか?

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

google-app-engine - Google アプリ エンジンでのクエリの問題

私はSQLに非常に慣れておらず、Googleアプリエンジンで使用されるGQLよりも優れています。データを Google サーバーにプッシュすることはできましたが、データストアにロードしたエンティティからクエリを実行する方法がわかりません。

ここに問題があります。以下に示すような他の列とは別に、ユーザー ID でマークされたユーザーの連絡先の名前と番号のみをクエリしたいのですが、

これは、MyContacts エンティティ定義を含む Models.py ファイルです。

ユーザー ID を UI からの入力として取得していますが、クエリを使用してデータを表示する方法がわかりません。GQLでクエリを作成するのを手伝ってくれる人がいれば、それは私にとって大きな助けになるでしょう。私はあらゆる種類のものを試しましSELECT * FROM MyContacts WHERE __key__ = KEY('user_id',654351)たが、何も得られません。

私を助けてください。

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

java - Google App Engine でのエンティティの一括削除

Java を使用してデータストアから不要なデータを削除しようとしていますが、10 秒でできるだけ多くのエントリを削除するように変更した DatastoreService を使用するコードを見つけました。

これを実行するとうまくいくようです。コンソールのデータ ビューアーを確認すると、削除しようとしている種類 ("PostalCodes") がなくなっていますが、これを行った翌日にはすべてが復元されています。フラッシュまたはコミットなどの呼び出しがありませんか?!?

これを行うより良い方法はありますか?

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

python - GAEのモデルファイルからクラスをインポートする際の問題

私はPythonを初めて使用し、Python + Google App Engineを簡単に紹介した後、パイロットプロジェクトに取り組み始めました。2つのエンティティUserDetailsとPhoneBookをデータとともにアプリエンジンにバルクロードしました。UIで、最初にユーザー名を取得し、それをクエリしてUserDetailsからユーザーIDを取得し、取得したユーザーIDを使用してPhoneBookにクエリを実行して電話帳のエントリを取得しようとします。これがUIのコードです。

問題は、GAEがモデルからUserDetails/phoneクラスをインポートできないというこのエラーがログに表示されることです。

取り外しfrom models import UserDetails,PhoneBookて使用するとimport models

これは、UserDetailsクラスとPhoneBookクラスを定義したmodels.pyファイルです。このファイルをルートディレクトリに保存しました。

Pythonを初めて使用するため、models.pyファイルからクラスをインポートできない理由とuser_nameをからに設定/取得する方法を理解できませpost(self)get(self)

私が素朴であるならば、私を許してください、しかし、あなたが私のコードを正しく設定するのを手伝ってくれるならば、あなたの助けは最もありがたいです。

ありがとう。

0 投票する
4 に答える
7174 参照

google-app-engine - Twitterのようなソーシャルサイト用のAppEngineデータストアをどのように設計しますか?

メンバーがGoogleAppEngineを使用してアクティビティを作成し、他のメンバーのアクティビティをフォローするソーシャルアプリケーションを設計するための最良の方法は何でしょうか。

具体的には、次のエンティティがあると仮定します。

  • 友達がいるユーザー
  • ユーザーが行ったアクションを表すアクティビティ(それぞれに文字列メッセージとその所有者ユーザーへのReferencePropertyがある場合、またはappengineのキーを介して親の関連付けを使用できる場合)

難しいのは、友達のアクティビティをフォローすることです。つまり、すべての友達の最新のアクティビティを集約することです。通常、これはアクティビティテーブルと友達リストの間の結合ですが、Nクエリ(Nは友達の数)を起動してメモリにマージする必要があることをシミュレートする結合がないため、appengineで実行可能な設計ではありません-非常に高価で、おそらくリクエストの期限を超えるでしょう...)

私は現在、受信トレイキューを使用してこれを実装することを考えています。ここで、新しいアクティビティを作成すると、後続のすべてのユーザーの「受信トレイ」に新しいアクティビティのキーを配置するバックグラウンドプロセスが起動されます。

  • 「Xをフォローしているすべてのユーザー」を取得することは、可能なappengineクエリです
  • 基本的に(ユーザー、アクティビティキー)タプルを格納する新しい「受信トレイ」エンティティへのそれほど高価なバッチ入力ではありません。

このデザインや代替案などについてのご意見をお待ちしております。

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

python - データストアの日時プロパティは反復可能ですか?

私はモデルを持っています

last_update_date特定のユーザー用に取得する必要があります。それはうまく機能しています、私はこの値を取得することができます、私はそれを別の変数に渡すことさえできます

に割り当てようとすると問題が発生します

これはループの外で行われるので、日時が反復可能ではないと表示される理由がわかりません。私が受け取るエラーメッセージは

トレースバック(最後の最後の呼び出し):ファイル "C:\ Program Files(x86)\ Google \ google_appengine \ google \ appengine \ ext \ webapp__init __。py"、行507、呼び出し中 handler.get(* groups)ファイル "C:\ Users \ mklich \ worksheet \ google_contacts_webapp \ src \ contacts-list.py"、行266、get listc = checkUserPrivateContacts(user)ファイル "C:\ Users \ mklich \ワークスペース\ google_contacts_webapp \ src \ contacts-list.py "、行189、checkUserPrivateContacts feed = contacts.GetContactsFeed(feed_query.ToUri())ファイル" C:\ Users \ mklich \ worksheet \ google_contacts_webapp \ src \ gdata \ service.py " 、1718行目、ToUri return atom.service.BuildUri(q_feed、self)ファイル "C:\ Users \ mklich \ worksheet \ google_contacts_webapp \ src \ atom \ service.py"、584行目、BuildUri parameter_list = DictionaryToParamList(url_params、 escape_params)ファイル "C:\ Users \ mklich \ worksheet \ google_contacts_webapp \ src \ atom \ service.py"、551行目、DictionaryToParamList for param、(url_parametersまたは{})。items()]ファイル "C:\ Python25 \ lib \ urllib.py"、行1210、quote_plusの値if'' in s:TypeError:引数タイプ'datetime.datetime'は反復可能

私は何か間違ったことをしていますか、それともバグですか?ご回答ありがとうございます。