首页  >  文章  >  后端开发  >  如何在 Go 中通过对象 ID 检索 MongoDB 文档?

如何在 Go 中通过对象 ID 检索 MongoDB 文档?

Patricia Arquette
Patricia Arquette原创
2024-10-31 19:35:29687浏览

How to Retrieve a MongoDB Document by Its Object ID in Go?

使用 Go 在 MongoDB 中按对象 ID 查找文档

您正在尝试使用自动生成的 _id 字段检索 MongoDB 文档,但您当前的代码无法返回结果。让我们深入研究问题并提供解决方案。

在提供的代码中,您将创建一个 RawValue 来表示文档 ID:

var documentID bson.RawValue
documentID.Type = 7
documentID.Value = []byte("5c7452c7aeb4c97e0cdb75bf")

但是,这种方法是不必要的。您可以使用primitive.ObjectIDFromHex函数直接创建一个ObjectID:

objID, _ := primitive.ObjectIDFromHex("5c7452c7aeb4c97e0cdb75bf")

使用正确的ObjectID,您可以对您的集合发出FindOne操作:

value := collection.FindOne(ctx, bson.M{"_id": objID})

此代码应该现在可以从数据库中正确检索您要查找的文档。

以上是如何在 Go 中通过对象 ID 检索 MongoDB 文档?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn