如何更改单个文档值的架构类型
how to change schema type for single document value
我想将特定用户的默认类型从 dict 更改为 string。
DOMAIN = {
'item': {
'schema': {
'profile':{
'type': 'dict'
},
'username': {
'type': 'string'
}
}
}
}
假设如果我收到来自 x 的请求,用户类型不应更改。如果我收到来自 y 的请求,用户类型应该从 dict 更改为 string。如何在不影响其他资源的情况下更改特定项目资源。
TIA。
您最好的方法可能是设置两个不同的 API 端点,一个用于 X 类型的用户,另一个用于 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。
我想将特定用户的默认类型从 dict 更改为 string。
DOMAIN = {
'item': {
'schema': {
'profile':{
'type': 'dict'
},
'username': {
'type': 'string'
}
}
}
}
假设如果我收到来自 x 的请求,用户类型不应更改。如果我收到来自 y 的请求,用户类型应该从 dict 更改为 string。如何在不影响其他资源的情况下更改特定项目资源。
TIA。
您最好的方法可能是设置两个不同的 API 端点,一个用于 X 类型的用户,另一个用于 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。