Mongooseでのモデル作成・データの挿入
今回はシンプルなモデルを作成し、データベースへデータの挿入まで行っていきます。
モデル作成の前に、スキーマの定義が必要になります。書き方は下記の通りです。
※スキーマ・・・あるデータの形を定義したもの
例えば、文字列型のフィールドはString, 数値型のフィールドはNumber,
真偽型のフィールドはBooleanで定義していくものです。
次に、上記のスキーマを使って、モデル作成を行います。
mongoose.modelでスキーマモデル名を指定してスキーマを作成します。
Mongoose では、モデル名の複数形の小文字バージョンを自動的に検索します。
なので第一引数は、モデルの対象となるコレクションの単数形かつ最初文字は大文字
の名前となります。第二引数は作成したスキーマ名となっています。
この時点ではクラスが出来上がったのみで、データベースには何も起きていません。
「Movieクラス」を使ってインスタンスが作成でき、データベースに保存することも可能
となります。
インスタンス・・・クラスから実際にオブジェクトを生成する為には、「new クラス名()」とします。
クラスから生成したオブジェクトをインスタンスと呼びます。
サンプルで一つインスタンスを作成してみます。
しかしこれではまだデータベースに保存はできていません。
ここから保存を行なっていきます。
nodeコマンドでREPLが開かれます。
「 .load ファイル名」で特定のファイルを読み込みます。
save()メソッドでデータベースへの保存ができています。
確認すると、データが挿入されています。
ひとまず完了です。
ここからは複数のデータを挿入できるようにしていきましょう。
今回は「 insertMany() 」を使っていきます。
しかし、データベースへデータの挿入になると時間がかかります。
その場合、JavaScriptの世界では非同期処理について考えていきます。
早速追加で記述します。
※一旦エラーについては無視します
「 node ファイル名 」 でjsファイルを実行します。
データベースを確認すると
複数のデータが追加されています。成功です。