2017-05-23 47 views
1

我想要將特定用戶的默認類型從字典更改爲字符串。如何更改單個文檔值的架構類型

DOMAIN = { 
     'item': { 
      'schema': { 
       'profile':{ 
        'type': 'dict' 
        }, 
       'username': { 
        'type': 'string' 
        } 
       } 
     } 
    } 

假設如果我得到來自x用戶類型的請求不應該改變。如果我從y用戶類型獲取請求,應該從dict改變爲字符串。如何改變特定項目資源而不影響其他項目資源。

TIA。

回答

1

你最好的辦法可能是設置了兩個不同的API端點,一個X型的用戶,另一個用於兩個端點都將消耗相同的底層數據源(同DB集合更新)Y型的用戶。你做到這一點通過設置datasource爲您的端點,就像這樣:

itemx = { 
    'url': 'endpoint_1', 
    'datasource': { 
     'source': 'people',   # actual DB collection consumed by the endpoint 
     'filter': {'usertype': 'x'} # optional 
     'projection': {'username': 1} # optional 
    }, 
    'schema': {...}     # here you set username to dict, or string 
} 

沖洗和重複第二端點。有關更多信息,請參閱docs

+0

感謝您的快速反應,是否有覆蓋數據模式的驗證特定資源的任何機會呢? – Kashyap