Go で Primitive.ObjectID を String に変換する
Mongo ドライバーを使用して Go で MongoDB を操作する場合、よくあるシナリオに遭遇します。ここで、primitive.ObjectID を文字列に変換する必要があります。この変換は、ID を文字列として表示する場合や、ID を外部システムで使用する場合など、特定の操作に必要です。
一般的なアプローチの 1 つは、次のような型アサーションを使用することです。
mongoId := mongoDoc["_id"] stringObjectID := mongoId.(string)
ただし、mongoId に格納されている値が実際には文字列でない場合、このコードはエラーをスローする可能性があります。エラー メッセージは、インターフェイス値の型が文字列ではなく、primitive.ObjectID であることを示します。
primitive.ObjectID を文字列に正しく変換するには、mongoId に格納されている値が実際にはインターフェイス値でラップされた primitive.ObjectID 型のインスタンス。 primitive.ObjectID インスタンスにアクセスするには、次のように型アサーションを使用できます。
mongoId := mongoDoc["_id"].(primitive.ObjectID)
ここで、primitive.ObjectID の Hex() メソッドを使用して、オブジェクト ID の 16 進表現を取得できます。文字列:
stringObjectID := mongoId.Hex()
このメソッドは、12 バイトの 16 進表現を表す文字列を返します。 primitive.ObjectID。目的に応じて使用できます。
以上がGoでprimitive.ObjectIDを文字列に変換する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。