如何更改单个文档值的架构类型
问题描述:
我想要将特定用户的默认类型从字典更改为字符串。如何更改单个文档值的架构类型
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。
感谢您的快速反应,是否有覆盖数据模式的验证特定资源的任何机会呢? – Kashyap