86日目:ユーザーのプロフィールの作成とアップデート:Create& Update Profile Routes

昨日苦戦していた「Postmanに入力したarray(例:ユーザーのcompany, statusなど)をMongoDB Atlasに反映させる」ということですが、間違えたであろうところに戻ってもう一度コードを書き直し、ようやくエラーから開放されました!ここまでで1時間40分も費やしてしまいましたが、一つエラーが解消されて満足です。

今回はUdemyの講座のQ&Aコーナーがとても役立ちました。エラーになった時は他の人も同じところでつまづいている可能性が高いので、Q&Aコーナーがあるのは助かります。

routesでのユーザープロフィール(UserProfile)の作成とアップデート

Postmanを使ってユーザーのプロフィールの作成とアップデートができるようになりました。

目を皿にしてコードの確認をしていたので何度も目薬使用です。具体的にはこのようなコードとなりました。

// @route  POST api/profile
// @desc   Create or update user profile
// @access Private
router.post(
  "/",
  [
    auth,
    [
      check("status", "Status is required")
        .not()
        .isEmpty(),
      check("skills", "Skills is required")
        .not()
        .isEmpty()
    ]
  ],
  async (req, res) => {
    const errors = validationResult(req);
    if (!errors.isEmpty()) {
      return res.status(400).json({ errors: errors.array() });
    }
    const {
      company,
      website,
      location,
      bio,
      status,
      githubusername,
      skills,
      youtube,
      facebook,
      twitter,
      instagram,
      linkedin
    } = req.body;

    //Build Profile Object
    const profileFields = {};
    profileFields.user = req.user.id;
    if (company) profileFields.company = company;
    if (website) profileFields.website = website;
    if (location) profileFields.location = location;
    if (bio) profileFields.bio = bio;
    if (status) profileFields.status = status;
    if (githubusername) profileFields.githubusername = githubusername;
    if (skills) {
      profileFields.skills = skills.split(",").map(skill => skill.trim());
    }

この後、SNSなどもprofileに追加できるようコードを書いたのですが、合っているかどうか確信が持てないため、次回確認予定です。

ユーザーのidを使って全てのユーザーprofileをPostmanに出力する

昨日のエラー解消してユーザーのprofileの作成とアップデートができるようになった後は、次のレクチャーに進んで「ユーザーidを使って全てのユーザーprofileをPostmanに出力する」というコードを書きました。

ここで約2時間経過。結構頑張ったのですが、MongoDB Atlasとの接続はできているものの、残念ながらPostmanで返ってくるのはserver errorとなりました。次回はまたdebugからのスタートです。

本日の感想:3歩進んで2歩戻る(back and forthで少しは進んでいるかも!?)

昨日のエラー解消できたのは嬉しかったのですが、次にもまたやってくる「壁(エラー)」。先日インスタグラムで見かけたこの言葉は本当だなと実感です。

https://www.instagram.com/p/BxcjBNcjKEO/?utm_source=ig_web_copy_link

"「引用」プログラミングのうちコーディングは半分である。その他の90%はdebuggingである。-匿名-"

「匿名」というところが何だかかっこいいですね。みんな同じなんだろうな、という気持ちで、また次回も取り組みます。

現在使用している教材と現在の状況:学習時間3.5時間

Udemy:MERN Stack Front To Back: Full Stack React, Redux & Node.js by Brad Traversy

Sec4: Profile API Routes

-Lec17 Create& Update Profile Routes

-Lec18 Get All Profiles & Profile By User ID (只今途中)

進捗状況:25%

学習時間3.5時間

~本日は休みにしている教材~

Udemy:The Complete Web Developer: Zero to Mastery by Andrei Neagoie

進捗状況: 92%

関連キーワード
  • 131日目~134日目:Udemyで一番人気のGit (&GitHub) コースを修了!学習した内容・学習にかかった時間とおすすめ度をご紹介: Completed Git course by Udemy "Git Complete: The definitive, step-by-step guide to Git" by Jason Taylor: Highly recommended to both beginner & intermediate leaner
  • 121日目~130日目:Udemyで新しいReactコース学習とGit & GitHubのコースを受講し始める #100dayofcode Round 2
  • 120日目:プログラミング学習100日チャレンジの完了とこれからの学習&ブログ記事:100days of code completed & from now on
  • 119日目:完成したWebアプリケーションの公開(Devconnector deployed on Heroku)
  • 118日目:Udemy講座の感想口コミ&自分に合った講座の選び方ポイント:Mern Stack Front to Back: Full Stack React, Redux & Node.js by Brad Traversy
  • 117日目:完成!Herokuへのデプロイ成功:Heroku CLIのインストールからWebアプリデプロイまで。Herokuの使い方と、package.jsonとgitコマンドではまったところと解決方法
おすすめの記事