Meteor.js - 基于会话变量的$或mongodb查询

时间:2015-12-10 18:09:49

标签: mongodb meteor

我正在流星网站上构建一个列出集合文档的页面。该集合存储在名为Tools的变量中,并具有名为“categories”的字段。在这个页面的顶部,我想拥有与类别对应的按钮;当按钮处于活动状态时,将显示该类别的文档。当某个按钮未激活时,该类别的文档不会显示。

让我失望的是我想要设置它,以便您可以一次选择多个类别。

要对mongodb查询进行硬编码以返回多个类别,请执行以下操作:

Tools.find(
  { $or: 
    [
      { category: 'tech' },
      { category: 'creative' } 
    ] 
  }
);

但我无法弄清楚如何编写此查询,以便根据会话变量进行更新。

至于Session变量本身,为每个类别设置一个布尔变量会更好吗?如... ...

Session.set('tech', true);
Session.set('creative', false);
//etc...

或者将它们存储在数组中会更好吗?如... ...

Session.set('categories', ['tech', 'creative']);

提前致谢!

1 个答案:

答案 0 :(得分:2)

类别列表似乎更容易管理:

Session.set('categories', ['tech', 'creative']);

然后你可以这样做:

Tools.find({category: {$in: Session.get('categories')}});