如何更改单个文档值的模式类型

时间:2017-05-23 16:02:26

标签: python flask eve

我想将特定用户的默认类型从dict更改为string。

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

假设我从x用户类型获得请求不应该更改。如果我收到y用户的请求,则应该从dict更改为string。如何更改特定项目资源而不影响其他项目。

TIA。

1 个答案:

答案 0 :(得分:1)

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