0
私はcommonIdに基づいて、私はこのデータをグループ化する形式MongoDB:フィールドの一意の値の数を見つける方法?
{
"_id": "00067223",
"commonId": "07dbad91-a32c-46da-b1a2-65faa0031eae",
"content": {
"loc": {
"la": 27.167064,
"lo": 78.036441
},
"propertyType": "Type",
"r": "20087.0",
"ta": {
"rating": 3.5,
"reviews": 42
},
"star": 3
},
"createdDate": "2017-05-23T10:29:40.681Z"
}
を以下にMongoDBの中のデータを持っているとし、フォーマットを以下に結果を取得します。
{
"commonId": "07dbad91-a32c-46da-b1a2-65faa0031eae",
"stars" : {"1" : 100, "2" : 200, "3" : 300, "4" : 550 },
"propertyTypes" : {"Type1":4,"Type2":40,"Type3":400},
"taRatings" : {"1.5" : 100, "2.5" : 200, "3.5" : 300, "4.5" : 550 }
}
私は$ addToSetを試してみましたが、それは私だけスター/プロパティタイプ/ taRatingの一意の値を与えることができますが、カウント部はまだ問題があります。効率的にどのように解決できますか?
Thanks Veeram。私はこのようなグループ分けを行うために少なくとも10のフィールドを持っているので、これは高価すぎるようです。 – Arjit
Np。あなたの期待が何だったか教えていただけますか?なぜこれは高価で、ユースケースは何ですか?あなたはそれを試しましたか? mongoをSQLデータベースではなく使用したいですか? 3フィールドのために – Veeram
、私たちは$グループを4回使用しています。 $グループは当然高価です。私はそれを行うストアドファンクションを評価しています。ストアドファンクションを使用して単一ループで実行できます。 – Arjit