尝试通过 _id 字段检索文档时,您可能会遇到返回值为空的。一个潜在的原因是对 _id 的 ObjectID 类型的处理不正确。
在提供的代码片段中,_id 使用 bson.RawValue 表示,这是一种用于保存 BSON 的通用类型没有任何具体解释的数据。但是,mongo-go-driver 在通过 _id 搜索时需要一个 ObjectID。
要解决此问题,您可以使用 Primitive.ObjectIDFromHex 将 _id 字符串转换为 ObjectID。这是一个示例:
<code class="go">import ( "github.com/mongodb/mongo-go-driver/bson" "github.com/mongodb/mongo-go-driver/mongo" ) // ... objID, _ := primitive.ObjectIDFromHex("5c7452c7aeb4c97e0cdb75bf") value := collection.FindOne(ctx, bson.M{"_id": objID})</code>
这应该返回具有指定 _id 的所需文档。
以上是如何使用 mongo-go-driver 通过 _id 检索文档?的详细内容。更多信息请关注PHP中文网其他相关文章!