如何更改单个文档值的架构类型

问题描述:

我想要将特定用户的默认类型从字典更改为字符串。如何更改单个文档值的架构类型

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

假设如果我得到来自x用户类型的请求不应该改变。如果我从y用户类型获取请求,应该从dict改变为字符串。如何改变特定项目资源而不影响其他项目资源。

TIA。

你最好的办法可能是设置了两个不同的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