Open1

Node.jsとMongoDBを使ったWebアプリを開発したいけど、何から始めれば良いかわからない という人向けのスクラップ

portgroundportground

このスクラップはこんな人が書いてます

バックエンドやデータベースに疎く、構築経験はほぼ無し。
NodeやmongoDBの知識はほぼゼロに近い。

このスクラップを通じて目指すこと

外部APIから取得したデータをmongoDBに保存して、分析やランク付けを行う。

第一歩

「外部APIから取得したデータをmongoDBに蓄積するシステムを構築」の参考になりそうなチュートリアル。
mongoDB公式ブログ Capturing Hacker News Mentions with Node.js and MongoDB
この記事のコードを理解できる場合そのまま進めて見てください。
わからなかった場合は、前提知識を身につけましょう。

前提知識 NodeでMongoを扱う方法

mongoDB公式ブログ Connect to a MongoDB Database Using Node.js

  • 🤔 MongoClientって何?という場合は次の記事から始めよう。
  • Node.jsでMongoDBを扱う「MongoClient」でMongoDBに接続する。
    とても簡潔で5~10分ぐらいで終わる。DBやNode.jsに全く自信がない方はこちらから。

mongoDB公式ブログ MongoDB and Node.js Tutorial - CRUD Operations

  • Node.jsでMongoDBのCRUD操作を行う。
  • 外部APIから取得したデータをmongoDBに蓄積 を実装するにあたっては「upsert =あればUPDATE、なければINSERT」と言う処理が重要。
  • upsertの実装方法はこの部分 updateOneで説明されている。ここは必ず動かすところまでやっておくべき。

mongoDB公式ブログ Aggregation Framework with Node.js Tutorial

  • Node.jsでMongoDBのAggregation(集計)を行う。
  • DB自体に馴染みのない方は、若干難しく感じるかもしれないが、
  • 集計するためのクエリは「Pipeline Builder」というGUIで組み立てる。
    これで自分なりに試し打ちをしてみるとスムーズに進められる。

外部APIとMongoDBを組み合わせたシステム構築

{JSON} PlaceholderでAPIの扱い方を身につけよう

世の中の有名なWebサービスの多くはAPIを公開しています。例)Any API
ただし、1日の呼び出し回数が制限されていることが多く、開発時の試行錯誤で上限に達し呼び出せなくなったり、時には無料枠を超え料金が発生することもあり気をつけたいものです。

もし技術力にあまり自信がない場合、{JSON} Placeholderを使うと良いでしょう。