Birden çok alanın farklı değerlerini saymaya çalışıyorum Bir MongoDB Toplama sorgusuyla. Ben her alanın ayrı sayımı istiyorumBirden çok alanın mongodb kümelenmesi kullanılarak farklı sayısı
{
"car_type": "suv",
"color": "red",
"num_doors": 4
},
{
"car_type": "hatchback",
"color": "blue",
"num_doors": 4
},
{
"car_type": "wagon",
"color": "red",
"num_doors": 4
}
: Ben grup birden çok alana başardı
distinct_count_car_type=3
distinct_count_color=2
distinct_count_num_doors=1
ve sonra ayrı bir sayımını yapmak ancak yalnızca verebilir
Yani burada benim veri var bana ilk alanda bir sayı. Hepsi değil. Ayrıca büyük bir veri kümesi.
Maalesef, mongodb 3.2 kullanıyorum ve $ objectToArray kullanıyorum. – Deckard
Doğru. Yükseltmeyi 3.4.4'e öneririm. –
Bu yüzden geliştirdim ve çözümünüzü denedim. Şu anda sahip olduğum sorun, farklı bir sayı yapmak istediğim dinamik alanlar aslında bir dizidedir, çünkü başka bir koleksiyondan $ lookup bir arandığından beri. Sorunun en üstündeki koleksiyon, $ lookup nedeniyle sonuçlarımın bir dizisidir. Bu yüzden, bir nesne üzerinde $ objectToArray yapmaya çalıştığımda "$ objectToArray bir belge girişi gerektirir, bulundu: dizi". Ve sonra $ arrayToObject önce $ objectToArray çağırmak için önce denedim ve "$ arrayToObject 'anahtar' ve 'v' bir nesne anahtarları gerektirir olsun. Yanlış sayıda anahtar bulundu: 5". – Deckard