0

我正在使用pymongo并试图找到构建类的最佳方法。目前,我正在做这样的事情:

class AssetCollection:
    def __init__(self,db,**kwargs):
        self.__dict__.update(kwargs)
        self.Device = Device(db,**db.Devices.find_one({'_id':kwargs['DeviceID']}))

    def __repr__(self):
        return '<%s %s>' % (self.Name,self._id)

这是非常灵活的,模仿了 MongoDB 的灵活性,但我不确定它是最好的方式。例如,可能出现的问题是如果Device查找返回,则对象无法实例化None。我应该能够通过确保在数据库中正确删除级联来避免这种情况,但是我是否也应该在类中处理它?还有什么陷阱吗?

任何意见是极大的赞赏。

4

1 回答 1

1

mongokit 或 mongoengine 都不适合你吗?

如果assetcollection 需要非None 设备,那么是的,您需要检查它。如果 find_one 没有返回值,您可以轻松地引发错误。

什么是资产集合?它似乎没有assetcollection甚至是一个集合,而只是一个设备?

于 2012-07-01T23:57:24.313 回答