MogGDBアトラスへのMlabの移行


よく、よく、よく.私が数年前に建てたいくつかのランダムなものを再訪問して、可能性の範囲のために私自身を強要するとき、それはその時ですcode rot .
告白時間.私は走る人だbrew update; and brew upgrade 毎日.最初の更新、修正時に修正プログラムは、物事を行う私の一般的な方法です.私の防御では、私は完全に責任があるプロジェクトのためだけにこれを行う.他の影響を与えるプロジェクトのためのより多くの抑制が行使されます.
とにかく、プロジェクトは、私が戻ってチェックアウトしたい図書館の書籍を追跡するために2017年に書いたこのcrudアプリだった.私は書きましたa blog post についても.私がそれを読んだとき、私は実際にくしゃみをしました.そして、それは素晴らしいです🤪.

移行する理由なぜ?


優れた質問.私はそれを計画しなかった.少し前に、私は彼らがMongoDBによって得られて、彼らのユーザーにMongoDBアトラスに移行するよう頼んでいたMlabから通知メールを得ました.
これは2018年10月9日に発表されたらしい.明らかに、私は注意を払っていませんでした.私は唯一のMLabとにかく1つのデータベースを持っていた、それは1つ、自分の観衆とアプリのためだった.AnyHoo、これは移行プロセスの短いドキュメントです(他の誰でも移動する予定であるならば、私が走らせた若干の小さい問題を除いて、それはかなり簡単でした).
私の小さなアプリはとても小さいので、無料ティア提供は十分以上でした.私も実際に理由を持っていなかったMLabに私のデータベースを見にログインする理由は、なぜですか?
それで、あなたもインターフェイスがどのように見えたかを忘れたならば、ここでそれはそうです.今すぐ思い出させるバナーを使用して今あなたのたわごとを移動する!(それらの言葉ではなく、それでも).過去2年間の発表を無視本当にあなたのような人々でターゲット.

それはまだローカルで実行されますか?


これは私の開発作業を別の環境で隔離しようとはしなかったので、これは正当な関心事です.また、私は、それがちょうど2009年にすべてを更新するという素晴らしい考えであると思いましたpackage.json なぜですか?
アプリケーションを実行する唯一の大きな障害は、このメッセージです.
3:06:32 PM dev.1 | const authMiddleware = auth.connect(basic)
3:06:32 PM dev.1 | ^
3:06:32 PM dev.1 | TypeError: auth.connect is not a function
3年後、私は正直に私はなぜその実装を行った覚えていないことができますが、私はあまりにも任意の適切なユーザー管理を行うには怠惰だったと最も基本的なHTTP認証を望んでいた知っている.The http-auth パッケージはこれを提供します、しかし、私は明らかに、彼らのドキュメンテーションが指定された方法でそれを使用していませんでした.
たぶん3年以上にわたって変わった.いいえ、ちょうどドキュメントで提供される例に従ってください、そして、我々は行ってよいです.すべての依存関係を現在まで持ってきた後で、壊れた変更が全くなかったと判明します.私のコミットログを振り返ると、私は明らかに2018年にMongoDBバックの変更を修正しました.私は、ちょうど覚えていることができませんもう.
その後、移住時間であった.

生命は、明確なドキュメンテーションでわずかにより簡単です


まず最初に行ったのは、バナーのリンクをクリックして、移行方法に関するドキュメントを教えてくれました.私は明確かつ粒状の指示に感謝し、一度MongoDBアトラス上のアカウントにサインアップすると、彼らはあなたがMlabのアカウントを接続したら一度活用することができます移動のために組み込まれたワークフローの統合を見ることができます.

ウィザードはあまりにも多くのトラブルなしに私のために実行したので、うまくいけばそれはスムーズにあなたのために動作します.どこで私はトラブルに実行し、新しいデータベースに接続する私のアプリを取得していた.免責事項、私はMlab/MongoDBアトラス問題であると思いません.問題のより多くは、モニターと椅子の種類の問題です.

アプリケーション側では、唯一の変更は、コマンドをデータベースに接続するためだった.mlabが提供するフォーマットは以下のようなものです.
mongodb://<dbuser>:<dbpassword>@<mlabhost>:<portnumber>/<dbname>
それはコピーペーストでした、そして、私はその日にそれをセットアップするとき、それは状況を働かせます.MongoDBアトラスによって使用される形式はわずかに異なっており、トリックはそれが正常に接続するものだったかを考え出していた.
Atlasは、このURIをアプリケーションコードにペーストをコピーするために提供します.
mongodb+srv://admin:<password>@<atlashost>/<dbname>?retryWrites=true&w=majority
私はMlabデータベースからの資格情報が問題なしで移植されると仮定しました、しかし、私は認証問題に走り続けました.
4:31:54 PM dev.1 | MongoNetworkError: failed to connect to server [library-shard-00-01.eljl3.mongodb.net:27017] on first connect [MongoError: bad auth Authentication failed.

最後に、私はあきらめて、地図帳からパスワードをリセットします.あなたが同様の認証問題に遭遇するならば、あなたは最後の手段としてこれをためすことができましたか?とにかく、私が2年のようにこれをするならば、移行のための最終期限が2020年12月8日であるので、現在あなたのものを動かす良い時間です.ちょっと言う.