Mongodb mongo go驱动程序获取插入文档

Mongodb mongo go驱动程序获取插入文档,mongodb,go,mongo-go,mongo-go-driver,Mongodb,Go,Mongo Go,Mongo Go Driver,Collection.InsertOne()返回一个*InsertOneResult,它只包含插入文档的ID。要获取插入的文档,必须执行另一个Collection.Find()查询。有没有办法一步到位 当前的解决方法是使用Collection.FindOneAndUpdate(),将Upsert设置为true,因为这将返回一个*SingleResult,然后可以将其解码为结构并发送回客户端。如果希望应用程序具有完整的文档: 在客户端生成_id 插入完整的文档 此时,您拥有的文档正是数据库拥有

Collection.InsertOne()
返回一个
*InsertOneResult
,它只包含插入文档的ID。要获取插入的文档,必须执行另一个
Collection.Find()
查询。有没有办法一步到位


当前的解决方法是使用
Collection.FindOneAndUpdate()
,将
Upsert
设置为true,因为这将返回一个
*SingleResult
,然后可以将其解码为结构并发送回客户端。

如果希望应用程序具有完整的文档:

  • 在客户端生成_id
  • 插入完整的文档
此时,您拥有的文档正是数据库拥有的文档,从insert返回它是没有意义的


其他一些数据库在服务器端生成id,但在MongoDB的情况下,每个驱动程序在客户端实现id生成,以便在插入之前可以完全了解每个文档。

InsertOne()
希望插入文档,因此在调用它时必须拥有它。唯一的“可选”内容是
\u id
,它在
插入器结果中返回给您。请解释一下你想要实现什么。我只是想知道你是否可以在插入后返回整个bson文档。我已经习惯了其他的ORM。