Standardmäßig werden alle regulären Sammlungen automatisch ein _id Feld einfügen, wenn es fehlt.
Dieses Verhalten kann jedoch geändert werden, wenn Sie die Sammlung erstellen, indem Sie den Parameter autoIndexId explizit auf false setzen.
> db.createCollection("noautoid", { autoIndexId: false })
{ "ok" : 1 }
Dann können Sie Dokumente ohne _id Feld einfügen. Aber einige Treiber, wie das Javascript (und so die Mongo-Konsole), fügen das Feld _id selbst hinzu. In der Mongo-Konsole können Sie dies tun:
> db.noautoid._mongo.insert(db.noautoid._fullName, {name: "Jack"})
> db.noautoid.find()
{ "name" : "Jack" }
Weitere Informationen über das autoIndexId Feld kann in der MongoDB documentation finden. Diese Seite behandelt Capped Collections, das Feld autoIndexId ist jedoch sowohl für reguläre als auch für capped Collections verfügbar.
seine Arbeit nicht ... –
Es ist nicht länger erlaubt - _id Feld ist für die Replikation erforderlich und sollte daher immer vorhanden sein. –