删除PyMongo SON操纵器

时间:2014-09-15 20:54:51

标签: python mongodb pymongo

对于我的应用程序中的一些查询,我使用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

问题:如果我不希望我的数据转换,如何从数据库类实例中删除操纵器?

1 个答案:

答案 0 :(得分:0)

EDITED

似乎不可能以正常方式进行(没有为此目的存在API方法)。相反,我应该有另一个没有操纵器的数据库对象,并在我不需要转换数据时使用它(可能会更快地工作)。