对于我的应用程序中的一些查询,我使用SON操纵器来方便地呈现数据库输出。在其他一些情况下,我只想要原始数据。
所以我添加了我的操纵器:
db.add_son_manipulator(Renderer())
这是我的渲染器:
class Renderer(pymongo.son_manipulator.SONManipulator):
def transform_outgoing(self, son, collection):
rendered_data = {}
for field in son:
try:
rendered_data[field] = son[field]['value']
except (KeyError, TypeError):
rendered_data[field] = son[field]
return rendered_data
问题:如果我不希望我的数据转换,如何从数据库类实例中删除操纵器?
答案 0 :(得分:0)
似乎不可能以正常方式进行(没有为此目的存在API方法)。相反,我应该有另一个没有操纵器的数据库对象,并在我不需要转换数据时使用它(可能会更快地工作)。