[MongoDB]Mongooseを書く理由

3267 ワード

schema-less NoSQL DocumentデータベースのMongoDBプロパティにより、複雑なデータを処理する際に不便な複数の形態のドキュメントを1つのセットに含めることができます.

Mongoose


MongooseはMongoDBのODMライブラリの1つで、構造化データを保証するモデル概念を導入しています.
もう一つの利点

  • populateの使用

  • クエリーの抽象化と定義の容易化
  •   import mongoose from 'mongoose';
      const { Schema } = mongoose;
    
      const blogSchema = new Schema({
        title:  String, // String is shorthand for {type: String}
        author: String,
        body:   String,
        comments: [{ body: String, date: Date }],
        date: { type: Date, default: Date.now },
        hidden: Boolean,
        meta: {
          votes: Number,
          favs:  Number
        }
      });

    ODM (Object Document Mapping)


    オブジェクトとデータベースのデータの自動マッピング

    モンゴDBが実際のデータベースに格納されている場合はバイナリ形式のBSONタイプだそうです.(速度や空間面でJSONより有利)

    Reference


  • https://mongoosejs.com/docs/guide.html

  • https://www.freecodecamp.org/news/introduction-to-mongoose-for-mongodb-d2a7aa593c57/