我正在尝试使用AppEngine-MapReduce。我理解如何对某些entity_kind的所有实体执行操作,但是当实体具有日期属性时,仅对数据范围上的实体进行操作的最简单方法是什么?有没有一种简单的方法将参数传递给映射器?
例如,如果我只想删除实体,那该怎么办:
entity.created >= start and entity.created < stop
class Entity(db.Model):
created = db.DateTimeProperty()
from mapreduce import operation as op
def process(entity):
yield op.db.Delete(entity)
答案 0 :(得分:3)
目前无法迭代mapreduce中的查询 - 您必须迭代给定类型的每个实体。相反,您应该在map函数中应用过滤器,并且只删除匹配的实体。
答案 1 :(得分:0)
从commit324开始,可以使用有限的查询过滤器作为输入。
如果这不能让你按照自己的意愿行事,那么你可能需要尝试small extension。