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