나는 나 자신이 같은 꽤 무언가를 찾을 변환 : 파이썬 디자인 패턴은
if 'id' in kwargs:
query['_id'] = ObjectID(kwargs.pop('id'))
if 'name' in kwargs:
query['event'] = kwargs.pop('name')
if 'keywords' in kwargs:
keywords = kwargs.pop('keywords')
query['keywords'] = {
'$in': keywords
}
이 구현 세부 사항을 무시합니다. 여기서 핵심은 비슷한 데이터를 공유하고 단순하고 반복적이며 복잡한 변환을 수행하는 두 개의 데이터 구조를 다루고 있다는 것입니다.
이러한 유형의 변환을 쉽게 코드화 할 수있는 디자인 패턴이나 다른 개발자 친화적 인 방법이 있습니까?
간단한 속성 이름을 변환하기 위해 테이블과 관련 함수를 만들려고 생각했지만 좀 더 복잡한 데이터 변환을 다룰 때 잘 돌아 가지 않을 것이라는 느낌이 들었습니다. 또한, 그 방법은 장기적으로 나에게 많은 작업을 절약하지 못할 수도 있습니다.
제안 사항?
당신은 MongoDB를 작업하고 쿼리? –
예. 몽고와 함께하는 것이 더 쉬운 방법이 있다면, 그것에 대해 듣고 싶습니다. 그러나 MongoDB (또는 그 문제에 대한 DB)와 완전히 관련없는 전에 이런 종류의 문제에 부딪혔을 때 나는 정말로 '일반적인'답을 찾고있다. – Kurtis
어쩌면 그것은 내 자신의 nitpick이지만 키가 존재하는지 검사하는 것을 싫어한다. 그것을 액세스하기 전에. 간단히'try : ... except KeyError : pass'를 사용합니다. 정말 자주 사용하는 경우 컨텍스트 관리자를 만들고'SuppressKeyError() : ... '와 같은 것을 사용할 수 있습니다. – Bakuriu