MongoDB + NodeJS + ExpressJS的变量查询参数

时间:2014-07-11 19:46:18

标签: node.js mongodb express

我要做的是将参数传递给get()方法(我目前使用Express作为我的中间件)。现在,我能够获取传递的颜色,看看它是否未定义。但是,似乎查询似乎不起作用。

颜色由用户选择的选项(在本例中为链接)定义。它似乎传递参数很好 - 它只是我似乎无法弄清楚的查询。

这是我现在正在使用的代码:

router.get('/cards/cardlist', function(req, res) {
    console.log('get /cardlist');

    var reqColor = req.query.color;
    var query = {};
    query[reqColor] = 1;

    var db = req.db;
    if(reqColor !== undefined) {

        db.collection('creaturecards').find(query).toArray(function (err, items) {
            res.json(items);
        });
    } else {
        db.collection('creaturecards').find().toArray(function (err, items) {
            res.json(items);
        });
    }
});

基本上,如果我手动添加(例如)红色:1,那么它就可以很好地拾取红色。

作为参考,并非每条记录都会保存一种颜色。如果没有设置颜色,那么我只是在记录中没有它 - 这似乎是这个特定项目的最佳设置。

提前致谢!

0 个答案:

没有答案