Hi, Thanks...... in my mapper I added obj={} which I left out.
But still cant get MR to work but left out that i am using filters. I get the same error and am wondering if I am using key filters correct. {'uuid':1,'campaign_id':2,'adgroup_id':3,'date':4,'country':5} filters = key_filter.tokenize(":",5).eq(country) \ & key_filter.tokenize(":", 2).eq(campaign_id) \ & key_filter.tokenize(":", 4).string_to_int().less_than_eq(date_end) \ & key_filter.tokenize(":", 4).string_to_int().greater_than_eq(date_start) query.add_key_filters(filters) '[['and', [['tokenize', ':', 5], ['eq', 'SG']], [['tokenize', ':', 2], ['eq', 'cid5989410021']], [['tokenize', ':', 4], ['string_to_int'], ['less_than_eq', '2012122509']], [['tokenize', ':', 4], ['string_to_int'], ['greater_than_eq', '2012121810']]]] If I leave out & key_filter.tokenize(":", filter_map['date']).string_to_int().greater_than_eq(date_start) the query works and I get the data I want. If I include then I get the error. So...what I cant figure out is why I cant use the last filter. My key looks like this. 07712f3d-6661-44a7-89ff-4e4ed3b5f5a6:cid5989410021:agid7744464312:2012122205:SG uuid:campaign_id:aid:date:country where date is in YYYYMMDDHH format I just want a query that will filter by campaign_id, country, and between a date range. thanks On Thu, Dec 20, 2012 at 11:07 PM, Bryan Fink <br...@basho.com> wrote: > On Thu, Dec 20, 2012 at 8:52 AM, David Montgomery > <davidmontgom...@gmail.com> wrote: > > {fitting_exited_abnormally,[{<<"lineno">>,3},{<<"message">>,<<"TypeError: > > reduce of empty array with no initial value">>} > > Hi, David. The error is occurring on line three of your reduce > function, where it calls `values.reduce`: > > > query.reduce(''' > > function(values, arg){ > > return [ values.reduce( function(acc, item) { > ... > > It's complaining about the fact that `values` is an empty array, so > `values.reduce` doesn't know what to do. You will need to either > include an initial value as a second parameter, like: > > values.reduce(function(acc, item) { ... }, > {}) //initial empty object > > Or check to see if `values` is empty before reducing, like the Riak JS > reduce builtins do: > > https://github.com/basho/riak_kv/blob/master/priv/mapred_builtins.js#L68 > > Cheers, > Bryan >
_______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com