我正在使用Golang的mgo MongoDB驱动程序。
在插入新对象后,我能否获得最后一个ObjectId
?
还是应该使用bson.NewObjectId
手动创建_id
?
使用 MongoDB 和 mgo
,你通常需要使用 bson.NewObjectId
来自行生成 _id
值。
MongoDB 手册 指出:
如果文档没有指定 _id 字段,则在插入文档之前,MongoDB 会为该文档添加 _id 字段并分配唯一的 ObjectId。 大多数驱动程序会创建一个 ObjectId 并插入 _id 字段,但是如果驱动程序或应用程序没有这样做,mongod 将创建和填充 _id。
简单来说,自己创建 _id 是最好的方式!