如何检索流星集合中对象内的数组子集?

How to retrieve a subset of array within an object in a meteor collection?

希望有人能帮忙!我在流星中有一个集合,其中包含以下格式的温度读数数组的对象:

   "temp_readings": [
        {
            "reading_time": {
                "$date": "2015-01-18T11:54:00.700Z"
            },
            "temp_F": 181.76
        },
        {
            "reading_time": {
                "$date": "2015-01-18T11:55:00.700Z"
            },
            "temp_F": 187.16
        },
        {
            "reading_time": {
                "$date": "2015-01-18T11:56:00.700Z"
            },
            "temp_F": 190.76
        },
        {
            "reading_time": {
                "$date": "2015-01-18T11:57:00.700Z"
            },
            "temp_F": 196.16
        }
    ]

我可以在我的客户端 meteor 代码中检索这个完整的数组,但我现在只想根据用户设置的 date/time 读取这个数组的一个子集。因此,例如检索数组的子集,该子集仅包含等于或晚于“2015-01-18T11:56:00.700Z”的条目...我知道我可能可以使用选择性 publish/subscribe 方法做一些事情,但现在客户端是否有一种简单的方法来检索此数据子集?也许一些 javascript 方法可以提供帮助?

提前致谢, 瑞克

// or however you fetch your document
var doc = MyCollection.findOne();

if (!doc)
  return [];

// ensure temps is an array
var temps = doc.temp_readings || [];

// return an array of temp readings where the date is > someOtherDate
return _.filter(temps, function(temp) {
  return temp.reading_time.$date > someOtherDate;
});