要根据自动生成的 _id 字段检索文档,可以使用 FindOne 方法由 mongo-go-driver 库提供。然而,用户最近遇到了一个问题,即尽管使用了从 Mongo Express 获取的有效 _id 值,但提供的查询没有返回结果。
用户最初尝试使用 bson.RawValue 创建 ObjectID 并使用 bson.EC。 ObjectID,但由于 bson 包中缺少 EC 类型以及 mongo-go-driver 中的 objectid 包,这些被证明是无效的。
为了解决这个问题,建议使用 Primitive.ObjectIDFromHex 函数,确保简单高效的 ObjectID 声明。下面更新的代码成功检索了所需的文档:
<code class="go">objID, _ := primitive.ObjectIDFromHex("5c7452c7aeb4c97e0cdb75bf") value := collection.FindOne(ctx, bson.M{"_id": objID})</code>
以上是如何使用 mongo-go-driver 通过 _id 查找文档?的详细内容。更多信息请关注PHP中文网其他相关文章!