Theo mặc định, tất cả các bộ sưu tập thường xuyên tự động chèn một trường _id nếu nó là vắng mặt.
Tuy nhiên, hành vi này có thể thay đổi khi bạn tạo bộ sưu tập, bằng cách đặt rõ ràng tham số autoIndexId thành false.
> db.createCollection("noautoid", { autoIndexId: false })
{ "ok" : 1 }
Sau đó, bạn có thể chèn tài liệu không có trường _id. Nhưng một số trình điều khiển, giống như một trình điều khiển javascript (và do đó, giao diện điều khiển mongo), hãy thêm trường _id của chính chúng. Trong Mongo console, bạn có thể làm điều này:
thông tin
> db.noautoid._mongo.insert(db.noautoid._fullName, {name: "Jack"})
> db.noautoid.find()
{ "name" : "Jack" }
Thông tin thêm về lĩnh vực autoIndexId có thể được tìm thấy trong MongoDB documentation. Trang này giới thiệu về các Bộ sưu tập được giới hạn nhưng trường autoIndexId là phổ biến cho cả các bộ sưu tập thông thường và được giới hạn.
Nguồn
2012-09-12 09:17:16
không hoạt động ... –
Nó không còn được cho phép - _id trường là cần thiết cho nhân rộng và do đó nên luôn luôn tồn tại. –