插入MongoDB并存储ObjectID?

插入MongoDB并存储ObjectID?,mongodb,go,mgo,Mongodb,Go,Mgo,所以我有一个问题,和一些关于如何解决它的线索。我需要帮助弄清楚哪一个会真正工作,以及如何执行它 我在GoLang编程,并使用mgo包与MongoDB交互。在基本级别上,我需要在Mongo中的集合中插入一个条目,并访问该条目的ObjectID 我的第一个解决方案是搜索与我刚才插入的所有数据匹配的条目,但可能存在重复项。我需要准确的条目 第二,我会在每个条目中创建一个唯一的字段,但我不想在其中包含无用的数据,我也同时运行这个,如果我试图使事情唯一化,这可能会导致问题 第三,mgo中有一个NewObj

所以我有一个问题,和一些关于如何解决它的线索。我需要帮助弄清楚哪一个会真正工作,以及如何执行它

我在GoLang编程,并使用
mgo
包与MongoDB交互。在基本级别上,我需要在Mongo中的集合中插入一个条目,并访问该条目的ObjectID

我的第一个解决方案是搜索与我刚才插入的所有数据匹配的条目,但可能存在重复项。我需要准确的条目

第二,我会在每个条目中创建一个唯一的字段,但我不想在其中包含无用的数据,我也同时运行这个,如果我试图使事情唯一化,这可能会导致问题

第三,
mgo
中有一个
NewObjectID()
函数,但我不知道如何确保它是唯一的ID

这些潜在客户中是否有潜在客户,或者我如何解决这些问题?

使用创建id。bson包确保id是唯一的

id := bson.NewObjectId()
在插入文档之前,在文档中设置id。存储名为“\u id”的字段

插入的文档具有标识符
id

struct MyDoc {
   ID bson.ObjectId `bson:"_id"`
   // other fields
}

d := &MyDoc{ID: bson.NewObjectId(), /* set other fields */ }

if err := c.Insert(d); err != nil {
    // handle error
}