何も指定されていない場合、Mongoose は _id フィールドに ObjectID を自動的に入力し、モデルのインスタンスを構築するときに _id を上書きできることを知っています。
私が欲しいのは、透過的な方法で他のフィールドから _id を作成することです。モデルのインスタンスを作成するときに _id フィールドを省略し、それを埋める関数を呼び出す必要があります。この関数はスキーマ レベルで宣言する必要があり、モデルを使用する人は誰でも、_id が Mongoose ではなく関数によって埋められたことを知りません。
私が見逃したスキーマ コンストラクターのフックまたはパラメーターはありますか?
マングース 3.0.x
これをもっと具体的にしましょう。想像してみてくださいBlogPost
。タイトルを長押しして、素敵な URL を作成したいと考えています。スラッグを Mongo オブジェクトにマップするために、スラッグをハッシュして に変換し、そのObjectID
利点を活用します。今私が探しているのは、BlogPost
渡すだけでのインスタンスを作成しtitle
、slug
and_id
プロパティを自動的に生成できる透過的なメソッドです。