自動生成された _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 中国語 Web サイトの他の関連記事を参照してください。