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.