如何过滤使用复选框保存的mongodb文档?

时间:2019-04-18 12:51:34

标签: node.js mongodb express

我正在使用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分别获取每个查询。

我真正需要的是既能够做到这两者,又能够将国家/地区和存款方式扩展到更多的选择权,价格或其他任何东西...

无需编写数十条路线。

希望有人可以提供帮助。

很抱歉,如果已经问过这个问题,我会在提交此问题之前尽力找到答案

0 个答案:

没有答案