0

我正在使用 MongoDB+Express+Node.js 开发 API。到目前为止一切顺利,我可以通过ID查询一条记录,我可以查询特定字段,删除,添加等。

我正在寻找一种可以调用来为 mongoDB 创建通用查询的方法,我将在其中将模型的 json 表示传递给它,并使用“一些”数据进行搜索。如果 json 对象中未指定该字段,则它将仅搜索指定的那些字段。

这是我已经完成的样板代码,但我对 JavaScript 和 Node 非常陌生,我认为我需要在运行 .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 回答