問題タブ [class-transformer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mongodb - Nestjsを使用してmongodbでタイムゾーンオフセットを使用して時間を永続化する
非常に日付の多いスキーマを持つ Nestjs アプリケーションがあります。私の理解によると、日付はタイムゾーンなしでmongoに保存されます。私の API は、タイムゾーン オフセットを含む ISO 形式の時間を受け入れます。
次のオブジェクトを挿入しています{"date": "2009-06-30T18:30:00+11:00"}
mongoデータベースに次のドキュメントが作成されます{date: ISODate('2009-06-30T07:30:00.000Z'), _id: "..."}
したがって、タイムゾーンのオフセットは失われます。
タイムゾーンのオフセットを維持し、GET 要求で同じオフセットを持つ ISO 文字列を配信するエレガントな方法はありますか? クラストランスフォーマーを利用して、オフセットを別のプロパティに保存してみてはいかがでしょうか? はいの場合、どのように?
関連するクラスは次のとおりです。(ここには示されていませんが、GET リクエスト専用の ItemDto があります。)
宛先:
スキーマ:
class-validator - class-validatorで子DTOを条件付きで検証する方法は?
クラスバリデーターでネストされた DTO を条件付きで検証しようとしていますが、@ValidateIf が正しく適用されておらず、ネストされたクラスを常に検証しているようです。
私は次のDTOを持っています:
検証されているオブジェクトが次のとおりであるとしましょう:
次のフラグでバリデーターを設定したため、エラーは発生しませんが、エラーは発生しません。
バリデーターが子オブジェクトの存在を許可せず、エラーをスローすることを期待しています。