0

nodeJSにパスを動的に(正しい単語かどうかはわかりませんが)追加する方法があるかどうか疑問に思いました。つまり、実行中のプログラム内から、ユーザーがさらにパスを追加できるようにしたいということです。厄介なバージョンは、単にファイルにルートを入れ、アプリ内のファイルが変更されたことに気付いたときにサーバーをリセットするNPMライブラリを使用することです(NPMパケットの名前を忘れました)。それは、半生産の準備ができているようなものでさえ、実際には実行可能な方法ではありません。

何か案は?

編集:これが対象としている週末のプロジェクトは、サービスとしてのサーバーです。プロトタイピングとアプリ、またはハッカソンに参加していて、データを保存するためのデータベースを備えたサーバーが必要だとします。この時点での問題は、サーバー側がわからないか、サーバーを設定する時間がないことである可能性があります。したがって、このプロジェクトでできることは、テーブル/データベース名、GET、POST、PUT、DELETEのパス、および入力するデータの種類を指定することです。これにより、実際のURLと認証関連のもの。

したがって、問題は、ユーザーがパスを追加したい場合、実際にそれをどのように行うことができるかということです。

4

2 に答える 2

2

私がそれが機能していると想像する方法は次のとおりです。

/ apps on body {name: "myFirstDB"、fields:[{name: "id"、type: "String"}、{name: "age"、type:Integer}]でPOSTを実行すると、ユーザーのデータベースが設定されます( normanjoyner)myFirstDBに、idとageのフィールドで名前を付けました。エクスプレスルーティングの本体で、指定されたスキーマを使用して新しいmongoDBコレクションを作成します。

/ apps /:username /:dbnameを本文{id: "1"、age:21}でPOSTすると、データベースにエントリが追加されます。(オブジェクトの配列を受け入れて、一度に複数のエントリを追加することもできます)

PUT on / apps /:username /:dbname?id = 1 with body {id: "1"、age:22}は、クエリ文字列パラメータに一致する特定のエントリを更新します(クエリ文字列パラメータは、次の場合にのみ一意のIDである必要があります)。 1つのエントリを更新する予定です)

/ apps /:username /:dbnameのGETは、指定されたdbのすべてのエントリを返します

/ apps /:username /:dbname?id = 1のGETは、クエリ文字列パラメータに一致するエントリのみを返します

/ apps /:username /:dbnameでDELETEを実行すると、dbとスキーマ全体が削除されます

/ apps /:username /:dbname?id = 1でDELETEを実行すると、クエリ文字列の条件に一致する特定の行のみが削除されます

あなたはその考えを理解します。あなたは確かにこれを拡張し、うまくいけばあなたのすべてのニーズを満たすことができます。

お役に立てれば!

于 2012-05-31T19:50:49.187 に答える
0

ユースケースの実装を探している場合は、JsonFeedServerをご覧ください。それはあなたがあなたのアプリに意図することのほとんどをします。

お役に立てれば。

于 2012-06-01T02:39:42.320 に答える