我是 mongodb 的新手。
我需要插入一个不自动生成_id字段的文档。
我需要将 Tenant_id 字段设置为唯一或需要将“_id”字段更改为 Tenant_id。
怎么做?
类似的东西
Tenant
{Tenant_id: 123, Tenant_info: ...}
最佳答案
默认情况下,如果_id字段不存在,所有常规集合都会自动插入。
但是,当您创建集合时,可以通过将 autoIndexId 参数显式设置为 false 来更改此行为。
> db.createCollection("noautoid", { autoIndexId: false })
{ "ok" : 1 }
然后您可以插入没有 _id 字段的文档。但是一些驱动程序,例如 javascript 驱动程序(以及 mongo 控制台),会自行添加 _id 字段。在 mongo 控制台中,您可以这样做:
> db.noautoid._mongo.insert(db.noautoid._fullName, {name: "Jack"})
> db.noautoid.find()
{ "name" : "Jack" }
更多关于 autoIndexId 字段的信息可以在 MongoDB documentation 中找到。 .此页面是关于 Capped Collections 的,但 autoIndexId 字段对常规和 capped collections 都是通用的。
关于Mongodb插入没有_id字段的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12378320/