Drivrutinen genererar endast Id-fältet åt dig när fälten identifieras som _id
av en samling. I ditt fall, Bar
är inbäddad i Foo
dokument.
Därför är det inte vettigt för Bar
att ha ett autogenererat ID-fält.
I ditt exempel finns det egentligen ingen anledning till Bar
att ha ett unikt _id
. När du frågar samlingen kommer du att fråga baserat på _id
av Foo
och du kommer att ha Bar
objekt tillgängliga i svaret.
Detta är definitivt avsett beteende.