私はmongodbの超初心者です。私はnode.jsからmongodbにアクセスするためにmongooseを使用していますが、動作させる方法を知っていますが、なぜそれが動作するのか理解できないと思います。mongooseは、mongodbのメリットがスキーマレスであると考えられる場合、なぜスキーマを使用しますか?
最も重要なことに、私はmongooseの傑出した特徴の1つがスキーマを持たないという理由で、mongooseが 'スキーマ'を持つ理由を理解できません。誰かが私を啓発できますか?ありがとうございました。
私は、デフォルトのスキーマのケースだと思いますが、テーブル全体を変更することなくアプリケーションコード内にフィールドを動的に追加することができます。例は、製品の巨大なテーブルであり、それは厄介で遅いSQLへのフィールドを追加するだけで、MongoDBではそれをクライアントモデルに追加するだけです。 – Sammaye
MongoDBはスキーマレスではありません。柔軟なスキーマがあります。大きな違いがあります。 –
それは味の問題です、Mongooseはあなたがそれを取得していないドライバを使用し、自分自身をロールバックする必要がある場合、検証付きの型付きスキーマを持つことができます。一方、Mongooseの層は生のドライバーに余分な時間を要するハウスキーピングを少し行うので、いくらかの生のパフォーマンスに影響を与えます。 – christkv