0

マルチ深度の Mongoose スキーマがいくつかあります。作成/更新するとき、私は現在、提供された各値をjsonオブジェクトからオブジェクトフィールドに割り当てています。しかし、私はいくつかのことをしたいと思います。1つは、Mongooseがそれらを検証しようとするのを防ぐためにnull値を自動削除したいと思います.2つ目は、各値/フィールドを個別に割り当てるのではなく、jsonオブジェクト全体を渡し、それを使用してスキーマに検証を処理させたいと思います-私は仮定しますjson オブジェクトに余分な/存在しないフィールドがある場合、それらは破棄されます。したがって、私の解決策は、null 値と禁止されたフィールド (つまり、created_at、_id など) の両方を削除して json オブジェクトを再帰的にウォークスルーし、残りを渡して保存する関数を作成することです。

4

1 に答える 1

0

たぶん、このメソッドはあなたが望むものです

実際、save() メソッドを使用すると、変更したフィールドのみが更新されます。

result.true_name = "test233334";
結果.保存();

ログ:Mongoose: admins.update({ _id: ObjectId("51b5af1a370c3fa716000001") }) { '$set': { true_name: 'test233334', updated_at: new Date("Mon, 10 Jun 2013 10:49:38 GMT") } } {}

于 2013-06-10T09:49:02.190 に答える