我發現自己做這樣的事情不少:Python的設計模式進行數據轉換
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的工作疑問? – 2013-05-13 19:50:58
是的。如果有一種方法可以讓Mongo變得更容易,我有興趣聽到它。然而,我真的在尋找一個'通用'的答案,因爲我在與MongoDB(或任何數據庫)完全無關之前遇到過這類問題。 – Kurtis 2013-05-13 19:52:46
也許這是我自己的挑剔,但我不喜歡檢查密鑰是否存在在訪問它之前。我只需使用'try:...除了KeyError:pass'。如果你經常使用它,你可以創建一個上下文管理器,並使用'with SuppressKeyError():...'。 – Bakuriu 2013-05-13 21:26:45