MongoDB Suma wystąpień w tablicy

0

Hej, nie mogę sobie poradzić z jednym zapytaniem do bazy. Załóżmy że taki mam model bazy:

{	
	id: 1.
	nazwa: "Dom1",
	budowniczy: [ "PolBud", "JanuszexPol", "MarianBud" ],
	cena: 210 000 
},
{	
	id: 2.
	nazwa: "Dom1",
	budowniczy: [ "Budowa", "JanuszexPol", "PHPBud" ],
	cena: 220 000 
},
{	
	id: 3.
	nazwa: "Dom1",
	budowniczy: [ "PolBud", "JanuszexPol", "CzupakabraBud" ],
	cena: 250 000 
}

Chciałbym wyszukać kto najczęściej budował domy. Gdyby to był jeden budowniczy to by było proste, $group po budowncizym i $sum. Tutaj sprawa się komplikuje bo mam paru budowniczych w tablicy.

Ktoś mógłby podpowiedzieć jak z tego wybrnąć?

0

Poradziłem sobie, gdyby ktoś kiedyś szukał rozwiązania to:

db.nazwaKolekcji.aggregate([
	{ $project : { _id: 0, budowniczy: 1 } },
	{ $unwind : "$budowniczy" },
 	{ $group : { _id: "$budowniczy", count: { $sum: 1 } } },
	{ $sort : { count : -1 } }, 
	{ $limit : 1 }   
]);

1 użytkowników online, w tym zalogowanych: 0, gości: 1