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 生成,以便在插入之前可以完全知道每个文档。
Collection.InsertOne()
returns一个*InsertOneResult
,其中只包含插入文档的ID。要获取插入的文档,您必须执行另一个 Collection.Find()
查询。有没有办法一步完成?
当前的解决方法是使用 Collection.FindOneAndUpdate()
并将 Upsert
设置为 true,因为此 returns 一个 *SingleResult
然后可以解码为结构,并且发送回客户端。
如果您希望您的申请有完整的文件:
- 在客户端生成_id
- 插入完整文档
那时你拥有的文件就是数据库拥有的文件,从插入中返回它是没有意义的。
一些其他数据库在服务器端生成 id,但在 MongoDB 的情况下,每个驱动程序都在客户端实现 id 生成,以便在插入之前可以完全知道每个文档。