W $group etap, _id służy do oznaczenia warunku grupy. Oczywiście tego potrzebujesz.
Jeśli znasz świat SQL, pomyśl o nim jako o GROUP BY klauzula.
Pamiętaj, że również w tym kontekście _id jest tak naprawdę unikalnym identyfikatorem w wygenerowanej kolekcji, jak z definicji $group nie może wyprodukować dwóch dokumentów o tej samej wartości dla tego pola.