gpt4 book ai didi

mongodb - 为什么 mgo 不返回插入文档的 ID?

转载 作者:IT老高 更新时间:2023-10-28 13:01:30 26 4
gpt4 key购买 nike

根据文档(http://godoc.org/launchpad.net/mgo/v2),如果您使用 Upsert 方法,您可以获得“Upserted”文档的 ID。

还有一个 Insert 方法不提供此功能。
这是为什么?如果我想执行插入而不是 Upsert 怎么办? (或者永远不会有任何正当理由想要这样做?我开始怀疑了。)

最佳答案

您使用 bson . NewObjectId()生成要插入的 ID。

这是插入新文档的方式:

i := bson.NewObjectId()
c.Insert(bson.M{"_id": i, "foo": "bar"})

由于您在发出 Upsert 时不知道是要插入还是更新,所以生成一个 ID 只是为了在查询后立即删除它是多余的(以防万一发生更新)。这就是它在数据库端生成并在适用时返回给您的原因。

关于mongodb - 为什么 mgo 不返回插入文档的 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12009312/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com