0

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);
4

1 に答える 1

0

上記のコードが機能することがわかりましたが、何らかの理由で_idを検索できません..しかし、他のフィールドは機能します。検索に _id を組み込む方法をまだ探しています。

于 2013-06-09T07:17:16.560 に答える