O driver só irá gerar o campo Id para você quando os campos forem identificados como
_id de uma coleção. No seu caso, Bar está embutido dentro do Foo documento. Portanto, não faz sentido para
Bar para ter um campo de ID gerado automaticamente. No seu exemplo, não há realmente nenhuma razão para
Bar para ter um _id exclusivo . Ao consultar a coleção, você consultará com base no _id de Foo e você terá Bar objetos disponíveis na resposta. Este é definitivamente um comportamento pretendido.