我要做的是将参数传递给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,那么它就可以很好地拾取红色。
作为参考,并非每条记录都会保存一种颜色。如果没有设置颜色,那么我只是在记录中没有它 - 这似乎是这个特定项目的最佳设置。
提前致谢!