2016-10-26 5 views
1

なぜmodel nameはマングースの問題ですか?モンゴースがモデル名を与えられればコレクション名を推測することができると私は理解しています。しかし、このアプリケーションでは、モデル名ではなくコレクション名を明示的に指定するほうがはるかに簡単です。モンゴースでモデル名が重要なのはなぜですか?

モンゴースではどのようなモデル名が使用されていますか?

答えて

0

Mongooseは、Ruby on Railsと他のいくつかのフレームワークでObject Relational Mapping(ORM)に似たノード用のObject Data Mapping(ODM)ライブラリです。したがって、(あなたがそれらを無効にすることができますよう、またはガイドライン)多かれ少なかれ同じ規則に従います。

ORM:

  • クラス名資本および
  • 表名の小さな単数形と複数
  • クラスオブジェクトマッピングされた/テーブル列に変換し、その逆
  • クラスおよびそのオブジェクトが持つメソッド/フック

ODM:

  • モデル名資本および単数(例えば、モデルのユーザー)小さく、複数
  • コレクション名(例えばユーザー)
  • Modelオブジェクトマッピングされた/(収集文書およびその逆に変換例えばオブジェクト:new User({name: "abc"})、コレクション内のドキュメント:{"name": "abc"}
  • モデルとそのオブジェクトを持っています

マッピングは、RubyクラスのオブジェクトとSQLテーブルの行のように、互換性のない型の間で行われます。 MongooseモデルのJavaScriptオブジェクト(例えば、関数を持つことができます)をmongodbのJSONドキュメント(有効なJSONは関数を持つことができません)に変換します。

クラスとテーブル、モデルとコレクションは異なるエンティティ(関連はありますが)が異なるため、異なる名前が付けられています(同様ですが)。したがって、モンゴースでモデル名の必要性!

関連する問題