mongo-go-driver 获取插入文件

mongo-go-driver get inserted document

Collection.InsertOne()returns一个*InsertOneResult,其中只包含插入文档的ID。要获取插入的文档,您必须执行另一个 Collection.Find() 查询。有没有办法一步完成?

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

如果您希望您的申请有完整的文件:

  • 在客户端生成_id
  • 插入完整文档

那时你拥有的文件就是数据库拥有的文件,从插入中返回它是没有意义的。

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