Der Treiber generiert das ID-Feld nur dann für Sie, wenn das Feld als _id
identifiziert wird einer Sammlung. In Ihrem Fall Bar
ist in Foo
eingebettet Dokument.
Daher macht es für Bar
keinen Sinn um ein automatisch generiertes ID-Feld zu haben.
In Ihrem Beispiel gibt es wirklich keinen Grund für Bar
um eine eindeutige _id
zu haben . Wenn Sie die Sammlung abfragen, werden Sie basierend auf der _id
abfragen von Foo
und Sie haben Bar
in der Antwort verfügbare Objekte.
Dies ist definitiv beabsichtigtes Verhalten.