Det finns många sätt att göra det du ber om. Du måste veta några saker om data först. Hur många dokument kommer ett B-dokument att ha?
-
Det ser ut som ett fall där du vill att samling A ska ha ett objektfält med dokument som är B. Det finns en gräns på 16 MB för det, men i de flesta fall fungerar det utmärkt.
-
Håll en räkning på A med antalet B-poster infogade. (Dvs varje gång du infogar ett B skulle du
$inc
fältet på A). Du skulle sedan göra ett index på räknefältet för A och görasort({count: -1})