0

私は Parse.com を使用しており、 と の 2 つのクラスがUserありReportます。AUserは 1 日に複数のレポートを発行することがありますが、私は最新のレポートにのみ関心があります。ただし、特定の基準を満たすすべてのレポートを取得する必要がありますが、最新のレポートのみを取得する必要があります。

最終結果は の配列でReportUserはそれぞれで一意です。次のようになります。

ObjectId | ReportedValue | User | CreatedAt
1234     | 100           | aaaa | 2013-05-20T04:23:41.907Z
1235     | 100           | bbbb | 2013-04-29T05:10:41.907Z
1236     | 100           | cccc | 2013-05-20T02:14:41.907Z
1237     | 100           | dddd | 2013-05-19T04:03:41.907Z

したがって、Useraaaa には 20 個のレポートがあるかもしれませんが、ユーザーごとに最新のものだけが必要です。ただし、私は存在に基づいて検索してReportedValueおり100、目的の結果はユーザーではなくレポート オブジェクトであるため、すべてのユーザーを調べたくないのです。

これはParseで可能ですか?

4

2 に答える 2

1

これを支援するために、データ モデルで別のオブジェクトを使用することを検討してください。基本的には、 との関係を持つコンテナReportです。新しいレポートが保存されると、次のように少しcloud code実行されます。

  1. Report関連付けられたユーザーの以前の最新情報を検索します
  2. そのレポートをコンテナ関係から削除します
  3. 新しいレポートをコンテナ リレーションに追加します

このように作業することで、アプリはリレーションに対して単一の単純なクエリを作成して、最新Reportの をすべて取得できます。

于 2013-05-20T07:08:21.323 に答える