根据文档(http://godoc.org/launchpad.net/mgo/v2)如果您使用的Upsert方法,你可以得到你的"Upserted"文件的ID.
还有一个不提供此功能的Insert方法.
这是为什么?如果我想执行Insert而不是Upsert怎么办?(或者永远不会有任何正当理由想要这样做?我开始怀疑.)
thw*_*hwd 46
你用bson
.NewObjectId()
生成要插入的ID.
这是您插入新文档的方式:
i := bson.NewObjectId()
c.Insert(bson.M{"_id": i, "foo": "bar"})
Run Code Online (Sandbox Code Playgroud)
由于您在发布时不知道是否要插入或更新Upsert
,因此仅在查询后立即生成ID(如果发生更新)将是多余的.这就是它生成db-side并在适用时返回给你的原因.
归档时间: |
|
查看次数: |
13254 次 |
最近记录: |