駆け出しのエンジニア日記

プログラミング言語勉強中の奮闘日記

2023-08-01から1ヶ月間の記事一覧

ExpressでMongooseを使う part1

ExpressからMongooseのモデルのインスタンスを用いて、データベースに対してCRUD 操作を行います。 簡潔に表すとExpressの簡易的なWEBアプリを作成し、WEBページからMongoDBに対し てCRUD操作ができるものを作成します。 今回は簡単な農産物の商品管理アプリ…

Mongooseのミドルウェア

ミドルウェア ・・・非同期関数の実行中に制御が渡される関数です。 特定のMongooseの処理が行われる前や後ろに自分の処理を差し込めることができま す。 使われている例を挙げると、例えばSNSでユーザーが退会した際に、退会ボタンを押下 した後にコメント…

Mongooseのvirtual

virtual・・・ データベースには保存していない仮想的なプロパティをスキーマに追加できる機能。 MongoDBに永続化(保存)されませんが、ドキュメント取得時には付与されるものになり ます。 早速サンプルを見ていきます。 //スキーマ定義 const personSchema …

スキーマにメソッドを追加してみる

インスタンスメソッド・・・ クラスから生成されたインスタンスから使えるメソッド サンプルを見てみましょう。 //スキーマ定義 const productSchema = new mongoose.Schema({ onSale: { type: Boolean, default: false }, //categoriesはStringの配列と宣言…

Mongoose:スキーマのバリデーション

Mongooseのスキーマのバリデーションについてまとめていきます。 使用頻度の高いものをピックアップしてみました。 これまでスキーマのバリデーションは下記のような記述でした。 この形は省略系となっており、これ以外にも細かく定義ができます。 const mov…

Mongooseでデータを削除する

Mongooseでデータを削除する方法について見ていきます。 削除において必要なメソッドは複数あります。 ・deleteMany()・・・検索条件に一致するドキュメントをすべて削除します ・deleteOne()・・・該当のドキュメントを1つのみ削除します。 早速見ていきま…

Mongooseでデータを更新する

Mongooseでデータを更新する方法を見ていきます。 更新において必要なメソッドは下記の通りです。 ・update() ・updateMany() ・updateMany() 注意点としては、これらのメソッドは戻り値としてドキュメントを返しません。 つまり処理の結果のみです。 { n: 1…

Mongooseでデータを取得する

今回はMongooseデータを取得する方法について見ていきます。 以前まとめたMongoDBでデータを取得する方法に似ている部分もあるので理解もしやすいと思います。 取得において必要なメソッド、3種類の説明します。 ・find()・・・ 指定した条件ですべてのドキ…

Mongooseでのモデル作成・データの挿入

今回はシンプルなモデルを作成し、データベースへデータの挿入まで行っていきます。 モデル作成の前に、スキーマの定義が必要になります。書き方は下記の通りです。 //スキーマ定義・・・あるデータの形を定義したもの mongooseの中だけで使えるmongoDBとは…

mongooseとは

mongooseとは・・・非同期環境で動作するように設計された MongoDBオブジェクト モデリングツールです。 簡潔に説明すると、Mongo DBのドキュメントをJavaScriptのオブジェクトにマッピング(変換)してくれるものになります。 mongooseはアプリケーションの…