Sterownik wygeneruje dla Ciebie pole identyfikatora tylko wtedy, gdy pola zostaną zidentyfikowane jako _id kolekcji. W twoim przypadku Bar jest osadzony w Foo dokument.
Dlatego nie ma sensu dla Bar mieć automatycznie generowane pole identyfikatora.
W twoim przykładzie naprawdę nie ma powodu dla Bar mieć unikalny _id . Kiedy wysyłasz zapytanie do kolekcji, będziesz pytać na podstawie _id z Foo i będziesz miał Bar obiekty dostępne w odpowiedzi.
Jest to zdecydowanie zamierzone zachowanie.