def test_map_reduce_with_inline_output(self): # raises an exception when output is inline collection = self.test_doc._get_collection() qs = QuerySet(self.test_doc, collection) with self.assertRaises(OperationError): yield from qs.map_reduce('mapf', 'reducef', output='inline')
def test_get_map_reduce(self): for i in range(5): d = self.test_doc(a=str(i)) yield from d.save() collection = self.test_doc._get_collection() qs = QuerySet(self.test_doc, collection) mapf = """ function(){ emit(this.a, 1); } """ reducef = """ function(key, values){ return Array.sum(values) } """ ret = yield from qs.map_reduce(mapf, reducef, {'merge': 'bla'}) self.assertEqual(ret['counts']['input'], 5)