2014-02-25 77 views
3

我在Meteor.js中擁有包含時間戳的屬性的集合。例如:使用日期範圍或單詞過濾器過濾Meteor.js中的集合

Posts.insert({ 
    category: 'type1', 
    text: 'hello world', 
    time: new Date(2012, 2, 14, 15, 25), 
}); 

我知道我可以通過匹配參數來過濾Collection,例如:

Meteor.subscribe('posts', 'type1'); 

    Meteor.publish('posts', function(category) { 
     return Posts.find({category: category}); 
    }); 

不過,我希望也能在更先進的方法來過濾:用「時間」字段,例如 1)在2012年1月1日至2013年1月1日之間的所有帖子。 2)通過搜索包含某個詞的所有帖子,例如, 「文字」字段中的「世界」。

這樣做的正確方法是什麼?

回答

9

您只需結合selectors像這樣:

Posts.find({ 
    category: category, 
    time: {$gte: date1, $lte: date2}, 
    text: new RegExp(searchTerm) 
});