5

プロパティを Mongoose スキーマに追加してデフォルト値を指定した場合、既存のドキュメントはロード時にこれらのデフォルト値を受け取りますか?

4

2 に答える 2

9

はい。ただし、クエリが の場合は異なりますlean

完全な Mongoose ドキュメント オブジェクトを返すクエリThing.find({...})の場合 – – スキーマがいつ変更されたかに関係なく、プロパティが欠落している場合は常にデフォルト値が返されます。ドキュメントが後で保存されると、デフォルト値がデータベースに具体化されます。

クエリがleanThing.find({...}).lean()– の場合、クエリはデータベースにあるものだけを返し、これには新しく追加されたデフォルトは含まれません (上記のようにドキュメントが読み込まれて保存されていない場合)。

于 2016-01-28T16:09:02.173 に答える