使用整数作为_id的类型为item_lookup返回HTTP 400

时间:2017-03-01 19:22:49

标签: python mongodb rest eve

我的设置如下所示,主标识符_id使用整数类型。

当我尝试使用以下URL访问项目(它在数据库中存在)时:http://xxxxxxx/promotions/1485919019667,它返回HTTP 404。

我想知道是否不能使用ObjectID以外的类型来表示_id?

promotions = {
    'item_title': 'promotion',
    'item_url' : 'regex("[\d]+")',
    'item_lookup': True,
    'schema': {
        '_id': {
            'type': 'integer',
            'minlength': 13,
            'maxlength': 13,
            'required': True,
            'unique': True
        },
        'category': {
            'type': 'string',
            'allowed': ["MARKETPLACE", "ELAUGETS", "FASHNESS", "FRINKS", "TRENTER", "OTHERS"]
        },
        'card_id': {
            'type': 'string',
            'minlength': 1,
            'maxlength': 50
        },
        'title': {
            'type': 'string',
            'minlength': 5,
            'maxlength': 200,
            'required': True
        },
        'description': {
            'type': 'string',
            'minlength': 5,
            'maxlength': 2500,
            'required': True
        }
    }
}

1 个答案:

答案 0 :(得分:1)

您是否查看了文档中的Handling custom ID fields?引用该页面的标题:

  

但是,您可能拥有不是唯一标识符和ObjectId的集合,并且您仍希望单个文档端点正常工作。别担心,这是可行的,只需要稍微修改一下。

本教程涵盖UUID个字段,但实际上适用于任何自定义类型。