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
- 插入完整的文档
其他一些数据库在服务器端生成id,但在MongoDB的情况下,每个驱动程序在客户端实现id生成,以便在插入之前可以完全了解每个文档。
InsertOne()
希望插入文档,因此在调用它时必须拥有它。唯一的“可选”内容是\u id
,它在插入器结果中返回给您。请解释一下你想要实现什么。我只是想知道你是否可以在插入后返回整个bson文档。我已经习惯了其他的ORM。