我正在使用node.js MongoDB构建应用程序并进行表达。 我有一个指定国家和存款方式的集合。 现在,当名称为“ country [country]”且[country]代表一个名为“ country”的数组的循环时,我使用复选框输入了数据。存款选择相同。
结果如下:
{ "_id" :
ObjectId("),
"country" : [ { "Germany" : "on" , "France" : "on, etc} ],
"deposit" : [ { "paypal" : "on", "visa" : "on" etc } ],
},
"__v" : 0 }
最终,我需要的是一个人能够使用过滤器选择多个国家/地区,存款选项和其他内容来过滤结果。
到目前为止,我设法使用了/ location?country = Germany&dm = paypal
router.get("/location", function(req, res) {
var country = req.query.country;
var depositMethod = req.query.dm;
if (country === undefined) {
country = ''
} else {
country = 'country.'+country;
};
// check if there is deposit query
if (depositMethod === undefined) {
depositMethod = ''
} else {
depositMethod = 'deposit.'+depositMethod;
};
db.casinos.find( { $and: [ { [country] :"on" }, { [depositMethod] :"on" } ] } )
为了查找同时具有两个查询的文档,还设法使用$ or分别获取每个查询。
我真正需要的是既能够做到这两者,又能够将国家/地区和存款方式扩展到更多的选择权,价格或其他任何东西...
无需编写数十条路线。
希望有人可以提供帮助。
很抱歉,如果已经问过这个问题,我会在提交此问题之前尽力找到答案