Ubuntu 上の Go で Mongo Cloud データベースに接続中にエラーが発生しました
問題
を試行したとき以下を使用して、Ubuntu 上の Go で Mongo Cloud データベースに接続しますコード:
func connectToDataBase() { ctx, cancel := context.WithTimeout(context.Background(), 20*time.Second) defer cancel() client, err := mongo.Connect(ctx, options.Client().ApplyURI(dbURL)) if err != nil { log.Fatal("Error connecting to Database: ", err.Error()) } DB = client.Database("storyfactory") }
エラー メッセージが表示されます:
2019/04/13 00:20:37 Error connecting to Database: error parsing uri (mongodb+srv://User:[email protected]/test?retryWrites=true): lookup cluster0-gpxjk.gcp.mongodb.net on 127.0.0.53:53: cannot unmarshal DNS message exit status 1
解決策
この問題は Go MongoDB ドライバーとは直接関係ありませんが、むしろ、Go バージョン 1.11.x #10622 の変更により、SRV レコードの読み取り方法が強化されました。 RFC-2782.
権威ある DNS サーバーがドメイン名圧縮を使用して SRV レコードを送信すると、net.lookupSRV() 関数は「DNS メッセージをアンマーシャルできません」というメッセージを含むエラーをスローします。
この問題を解決するには、次の回避策を検討してください。
詳細については、GODRIVER-829 を参照してください。
以上がGo アプリケーションが Ubuntu 上の MongoDB クラウド データベースに接続できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。