[英]mongo-go-driver get inserted document
Collection.InsertOne()
返回一个*InsertOneResult
,它只包含插入文档的 ID。 要获取插入的文档,您必须执行另一个Collection.Find()
查询。 有没有办法一步做到这一点?
当前的解决方法是使用Collection.FindOneAndUpdate()
并将Upsert
设置为 true,因为这会返回一个*SingleResult
,然后可以将其解码为一个结构体,并将其发送回客户端。
如果您希望您的申请有完整的文件:
此时,您拥有的文档正是数据库拥有的文档,从插入中返回它是毫无意义的。
其他一些数据库在服务器端生成 id,但在 MongoDB 的情况下,每个驱动程序在客户端实现 id 生成,以便在插入之前可以完全知道每个文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.