2016-11-04 9 views
0

私は各学校がテナントであるマルチテナントアプリケーションを持っています。各学校には多くの教師がいます。だから私は2つの種類のエンティティが "学校"であり、2つ目は "先生"であり、各先生は親の学校を持っています。私は、学校と教師の関係を構築するためにobjectifyの@Parentアノテーションを使用しています。objectifyの各テナントの名前空間(WILDCARD名前空間のクエリ)を無視して、すべてのテナントでフィルタクエリを作成する方法

私は管理ポータルのために学校全体の教師数を数えたいと思います。オブジェクト化/データストアにはグローバル名前空間の概念はありますか?

答えて

0

単一のクエリで名前空間を混在させたり、すべての名前空間に移動することはできません。私の知る限り、選択肢はありませんが、名前空間ごとに複数のクエリを実行することができます。

"admin"名前空間を維持し、各学校の教師数やすべての学校の数を記録しておくことで回避できます。つまり、任意の名前空間に教師エンティティを挿入/削除すると、「管理」名前空間の数が更新されます。

+0

私はすでにあなたが言っているように、つまりそれぞれの名前空間でクエリを実行しています。しかし、私は100以上の学校(テナント)があり、それも同様にすべての名前空間を1つのクエリで取得し、指定された名前空間の教師にクエリを作成するので、私はそれが欲しくない、私は良い方法だとは思わない。私が間違っていなければ100人のテナントが1 + 100のクエリを作成する必要がありました。ワイルドカードネームスペースのようなことを行うには、より良い方法があるはずです – Baqir

+0

マルチテナントの目的を破ってリスクを増加させると思いますデータ漏洩のあるテナントのデータを他のテナントに誤って表示するとどうなるか想像してみてください。繰り返しますが、必要なのは教師数などの基本的な統計だけであれば、私が提案した回避策を検討する必要があります。 –

+0

管理ポータルは、これらの種類のクエリを必要とする多くのことが必要です。カウントは一例です。 – Baqir

関連する問題