_id フィールドによってドキュメントを取得しようとすると、戻り値が空の。考えられる原因の 1 つは、_id の ObjectID タイプの処理が正しくないことです。
提供されたコード スニペットでは、_id は BSON を保持するためのジェネリック タイプである bson.RawValue を使用して表されます。特別な解釈のないデータ。ただし、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 中国語 Web サイトの他の関連記事を参照してください。