私はcloudantCloudant:複数のレベルでのフィルタリングと集約
{
"id" : String
"state": String
"city": String
"zipcode": int
"productType": String
"make": String
"model": String
"sku": String
"usedOn": Date
"energyUSed": int
"durationUsed": int
}
に文書コレクションを持っている私は、複数のcriteriasにフィルタリングしたい - 州、市、郵便番号、作る、モデル、SKUなどと集計energyUsedとdurationUsed
私は、map/reduce、query indexes、および_findターゲットを使用して、クラウドのクエリを調べました。しかし、これらのどれも、複数のレベルでフィルタリングして集約するほど柔軟ではありません。
たとえば、メイクとモデルに基づいてフィルターをかけ、州または都市レベルで集計したいと思います。別のケースでは、都道府県、市区町村、市区町村、モデル、モデルに基づいてフィルターをかけ、月レベルで(usedOnを使用して)集計したいと思います。
ご迷惑をおかけして申し訳ありません。
コメントありがとうございます。上記の複雑なキーを使用すると仮定すると、フィルタリングのためにstartKeyとendKeyを使用する必要があります。問題は、すべてのmake +モデルでエネルギーを使いたいのですが、州や都市をフィルタリングしたい場合、startKeyやendKeyのようにstartKey = [*、 'A'、{}]やendKey = *、 'Z'、{}]。どんな考えや提案も感謝しています。 – jaydeepva