【问题标题】:Insert into MongoDB and store the ObjectID?插入 MongoDB 并存储 ObjectID?
【发布时间】:2016-06-29 01:07:25
【问题描述】:

所以我有一个问题,以及如何解决它的一些线索。我需要帮助确定哪一个会真正起作用,以及如何执行它。

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

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

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

第三,mgo中有一个NewObjectID()函数,但是不知道怎么保证它是唯一ID。

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

【问题讨论】:

    标签: mongodb go mgo


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-11
      • 2015-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多