問題タブ [app-engine-ndb]

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 投票する
1 に答える
6248 参照

google-app-engine - IDを使用してNDBエンティティを削除するには?

このドキュメントhttps://developers.google.com/appengine/docs/python/ndb/entities#deleting_entitiesに基づいて 、NDBで削除できない理由がまだわかりません:

ええ、私はIDを使用して選択する方法を知っています

しかし、まだ機能していません...

これも機能しません:

何か問題でも?

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

google-app-engine - Appengine - db.Model から ndb.Model に変換していますか?

db.Model として定義された一連のデータがあり、それを ndb.Model に変換したいと考えています。

次のようにdbからndbに変更してみました:

問題は、temp の ndb 定義を使用して古い値 (db 値) を照会できることです。しかし、同じモデル名の db 値が既にある場合、ndb 値を保存できないようです。

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

google-app-engine - モデル継承を使用する場合、ndb.KeyPropertyは基本モデルクラスを参照できますか?

他のモデルが継承する基本モデルクラスで定義した、共通のプロパティセットを共有するモデルがいくつかあります。

BaseUser他のモデルでは、派生モデルへの参照が必要です。

DerivedUserAただし、プロパティにエンティティキーを設定しようとするとMainModel.user、GAEは、BadValueError種類のあるキーを期待しているBaseUserが、が与えられていることを示しDerivedUserAます。

kindから引数を削除するとMainModel、次のように機能します。

私はそれと一緒に暮らすことができましたが、私はむしろ私がMainModel.userプロパティ内のいかなる種類のエンティティも保存しようとしていないことを確認するために適切な場所にチェックを入れたいと思います。それを行う方法はありますか?

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

google-app-engine - ndb のキャッシュは圧縮されたプロパティをどのように処理しますか?

いくつかの大きなプロパティで圧縮(設定) を有効にすることを検討しています。compressed = TrueLocalStructuredProperty

ただし、これらは頻繁に読み書きされるエンティティであるため、これらのプロパティをエンコード/デコードするために必要な追加の CPU について懸念しています。

ndb のビルトイン キャッシング システムがこれを軽減するかどうか疑問に思っていますか? ndb は、これらのプロパティの圧縮または非圧縮データをキャッシュしますか? 書き込みごとに圧縮が常に行われることは認識していますが、キャッシュされたエンティティを読み取るときに少なくとも解凍をバイパスできれば、おそらくそれだけの価値があります。

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

app-engine-ndb - GoogleAppEngineがNDBにデータをアップロード/ダウンロードする

データを保存するための最初のndbがあります:

CSVファイルからデータをインポートしたいのですが。データをインポートする方法を教えてください!とcsvファイルの構造。

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

google-app-engine - Google App Engine NDB の繰り返しプロパティの追加情報

例: 元のタイトルのさまざまな言語での翻訳を格納する、繰り返される「タイトル」プロパティを持つ記事モデルがあります。

タイトルのプロパティに加えて、タイトルの言語コードを保存して、タイトルの特定のバージョンを取得するには、次のようにします。

記事のタイトルがどの言語でクエリされるかわからないため、同じプロパティ名を持つことが重要です。

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

python - AppEngineエンティティを部分的に更新します

App Engineを使用して同期エンジンを構築しています。クライアントからデータを受信するときに、オブジェクトを保存したいのですが、オブジェクトがすでに存在するかどうかは関係ありません。更新時に常にクライアントからすべてのプロパティを送信すると、今日はうまく機能します。でも私はしたい...

  • 一部の内部プロパティはクライアントに認識されず、更新後も存続します
  • 変更された値のみを送信できるようにするクライアント
  • 更新が必要なオブジェクトは非常に少ない可能性があるため、更新する前にすべてのオブジェクトをフェッチすることは避けてください。

各オブジェクトを取得してから、変更する値のみを更新してから、オブジェクトを更新する必要がありますか?または、エンティティをフェッチせずに部分的に更新することは可能ですか?

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

python - 長いリクエスト中に NDB がメモリをクリアしない

現在、長時間実行されるジョブを TaskQueue にオフロードして、データストア内の NDB エンティティ間の接続を計算しています。

基本的に、このキューは、ノード内の関数queryによって別のものに関連付けられるエンティティ キーのいくつかのリストを処理します。node_in_connected_nodesGetConnectedNodes

ここで、 aには、他のキー ID を持つ配列と、その特定の接続に一致する配列を含むNode繰り返しプロパティがあります。connectionsNodesources

生成された結果はブロブストアに保存されます。

今私が得ている問題は、接続機能の繰り返しの後、何らかの形でメモリがクリアされないことです。GetConnectedNodes次のログは、新しいインスタンスを作成する直前に AppEngine によって使用されたメモリを示しています。

いくつかの変動は別として、以前の値にアクセスしていなくても、メモリは増加し続けます。これをデバッグしたり、どこかにメモリリークがあるかどうかを判断したりするのは非常に難しいと思いましたが、そのクラスまでたどったようです。助けていただければ幸いです。

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

python - 非同期クエリが初めて AssertionError をスローする (AppEngine、NDB)

クエリで fetch_async() を使用すると、初回実行時に AssertionError でクラッシュします。すぐに再実行すれば問題ありません。

例えば。

モデルと:

以下はすぐに機能し、空のリストを返します。

しかし、これはクラッシュします:

と:

しかし、たとえば次のようにして、すぐに再度実行すると:

できます。

これはいたるところで発生しており、根本的な原因を突き止めるのに苦労しています。

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

google-app-engine - GAE-NDB: プロジェクションを防止して結果を変更する方法

ndb プロジェクションを使用しましたが、結果が変わりました。結果がプロジェクションの影響を受けないのはなぜですか?

結果は5、10

結果を10、10にする方法は?

ありがとう