mongodbのmodel名の詳細


最近apiの設計を研究して、ついでにmongodbを研究して、チュートリアルはよく見たことがなくて、だから使用の過程の中でいくつかの奇妙な現象にも遭遇しました.
たとえば、私が作成したモデル名は、対応するデータベースのcollections内の名前が一致していないことがわかりました.私が作ったのは次のようなものです.
const PersonModel = Mongoose.model("person", {
  firstname: String,
  lastname: String
});

1つのデータを書き込むと、ツールRobo 3 Tで名前がpeopleになったことに気づきました.
その後、関連資料を調べたところ、mongodbには自分のルールがあり、詳細なルールがありました.例えば、私のこの:mongoose/lib/utils.jsです.もちろんこれは歴史バージョンの例です.この現象については、最新のドキュメントでも指摘されています.
The first argument is the singular name of the collection your model is for. Mongoose automatically looks for the plural version of your model name. For example, if you use
const MyModel = mongoose.model('Ticket', mySchema);

Then Mongoose will create the model for your tickets collection, not your ticket collection.
一般的に彼は複数のモデルを作成します.このpersonは特殊です.だからモデルは検索時に同じとは限らないし、違っても驚かないでね~