ノード上でExpress.jsとMongooseを使用してRESTAPIを構築する-モデルまたはルーターでコード設計の問題に遭遇しました-関係をどこで処理する必要がありますか?
まず、私はMVCなどにかなり慣れていません。express.jsは完全なMVCではありませんが、ベストデザインプラクティスに従いたいと思います。
問題はかなり簡単です。アプリにはユーザーがいて、各ユーザーは複数のドキュメント(プロジェクト、注文など)を持つことができます。明らかに、作成されるすべてのドキュメントのユーザーIDを少なくとも保存する必要があります。問題は、どこでそれを行うべきかということです。
各ルーターのセッションからユーザーIDを取得してドキュメントに添付するか、現在のユーザーIDをグローバル変数(app.currentUserIDなど)に設定し、モデルでそれを使用してIDをに添付することができます。資料。
実際には、ユーザーが複数の組織を持つことができるというもっと興味深いケースがあり、特定の組織で操作するときにユーザーが作成する各ドキュメントの組織IDを設定する必要があります。
したがって、問題は、ルーター(エクスプレスには「コントローラー」自体がない)またはモデルでこの種のロジックを処理する必要があるかどうかです。