所以我有一个问题,并且有一些关于如何修复它的线索。我需要帮助确定哪一个实际上有效,以及如何执行它。
我在GoLang中编程并使用mgo
包与MongoDB进行交互。在基本级别,我需要在Mongo中的集合中插入一个条目,并且还可以访问该条目的ObjectID。
我的第一个解决方案是搜索与我刚刚插入的所有数据匹配的条目,但可能存在重复项。我需要EXACT条目。
其次,我会在每个条目中创建一个独特的字段,但我不想在那里使用无用的数据,而且我也会同时运行此字段,如果我和##会导致问题39;我试图让事情独特的yadda yadda。
第三,NewObjectID()
中有一个mgo
功能,但我不知道如何确保它是唯一ID。
这些潜在客户中是否有潜力或我还能解决这个问题?
答案 0 :(得分:1)
使用NewObjectId创建一个ID。 bson包确保id是唯一的。
id := bson.NewObjectId()
在插入之前在文档中设置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
}
插入的文档标识为id
。