插入 MongoDB 并存储 ObjectID?

Insert into MongoDB and store the ObjectID?

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

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

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

其次,我会在每个条目中创建一个唯一的字段,但我不希望其中有无用的数据,而且我同时也在 运行 这样做,如果我尝试这样做可能会导致问题让事情变得独一无二 yadda yadda。

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

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

使用 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