2016-05-22 8 views
2

REST API呼び出しを処理するnode.jsサーバーを実行しています。 これらの呼び出しの応答は、MongoDBオブジェクト(JSON)の1つまたはリストのいずれかになります。REST APIを自動的に作成する方法node.js/MongoDB

私は既にパラメーターとそれらの処理方法について読んでいます。しかし、これを自動的に行う方法はありますか?

name: String, 
hobby: String, 
age: Number 

は、今私は年齢= 18であるすべてのユーザーの一覧を取得したい:

は、私は、ユーザーのコレクションを持っているとしましょう。

私はこのようなパラメータに回復できることを知っている:

url: http://localhost:3000/user?age=18&hobby=something 

var app = express(); 
app.get('/user', function (req,res) { 

    var age=req.query.age; 
    var hobby=req.query.hobby; 

    mondodbUser.find(...); 
} 

をしかし、ユーザーが10の異なる特性を持っていると私は15種類のコレクションを持っていることを前提としています。私はこれを動的に行うことはできませんか?だから私はすべての可能なパラメータを回復する必要はありません?

私はMongoDBを検索して、すべてのパラメータを使用できるようにしたいと考えています。

私は十分に自分自身を表現することができたらいいと思う:Dありがとう!

+0

_assumeを、あなたはその上で明確にしてくださいすることができますか? – chridam

+0

URIからすべての単一のパラメータを手動でリカバリしてmongoDBのfind()メソッドで使用するのではなく、URIに指定されているパラメータを使用してfind()メソッドを呼び出します。 – HideAndSeek

+0

たぶん私はこれを思いついたかもしれません。すべてのパラメータを調べて、NULL /未定義であってもfindメソッドに渡すことができますか? – HideAndSeek

答えて

2

オブジェクトは、クエリ文字列で定義されたプロパティを持つことになり、クエリ文字列の後にJSのオブジェクトが解析されreq.query戻り、例えばので:

/user?name=andrew&age=22

req.queryオブジェクトを返します{ name: "andrew", age: "22" }

オブジェクトのプロパティが基になるコレクションドキュメントスキーマと一致する限り、メソッド引数としてfind()として使用できます。

その後、行うことができます。ユーザーは10の異なる特性を持っており、私は15の異なるCollections_を持っていることを

app.get('/user', function (req, res) { 
    User.find(req.query, function (err, users){ ... }); 
} 
関連する問題