MongoDB+Express+Node.js を使用して API に取り組んでいます。これまでのところ、ID で 1 つのレコードをクエリしたり、特定のフィールドをクエリしたり、削除、追加したりできます。
mongoDB の汎用クエリを作成するために呼び出すことができるメソッドを探しています。ここでは、検索する「いくつかの」データを含むモデルの json 表現を渡します。json オブジェクトでフィールドが指定されていない場合は、指定されたフィールドのみが検索されます。
これが私が作成した定型コードですが、私は JavaScript と Node.js に非常に慣れていないため、.find メソッドを実行する前にクエリ オブジェクトを解析またはサニタイズする必要があると思います。
基本的に、検索したいデータを含むオブジェクト モデルを送信し、一致するすべての結果を取得する parse.com で行われる方法と同様のクエリを実行できるようにしたいと考えています。
どんな助けでも大歓迎です!
-- このコードは私のカスタム モジュールにあります --
exports.findByQuery = function(req, res) {
var query = req.query;
db.collection('artists', function(err, collection) {
collection.find(query).toArray(function(err, docs) {
res.send(docs);
});
});
};
-- これはルート ファイルです --
var express = require('express'),
artist = require('./routes/artists');
var app = express();
app.configure(function () {
app.use(express.logger('dev')); /* 'default', 'short', 'tiny', 'dev' */
app.use(express.bodyParser());
});
app.get('/search/', artist.findByQuery);
app.get('/artist/:id', artist.findById);
app.post('/artist', artist.addArtist);
app.put('/artist/:id', artist.updateArtist);
app.delete('/artist/:id', artist.deleteArtist);
app.listen(3000);