2015-12-21 53 views
2

我開發與Python,夏娃的API,我需要使用地獄犬來表達類似下面的文檔創建MongoDB的模式聲明:Python-Eve。申報對象ID對Cerberus的模式陣列

{ 
    name : 'John Smith', 
    type: 'home', 
    devices : [ 
     ObjectID('1234'), 
     ObjectID('ABCD'), 
     ObjectID('D2AF'), 
    ], 
} 

我想要知道我如何聲明一個Cerberus模式擁有ObjectID的數組,以及上面的devices鍵。

我想對其他文檔,陣列架構,也許讓他們嵌入,如低於單個元素架構例如,從Python的前夕documentation採取:

{ 
    'author': { 
     'type': 'objectid', 
     'data_relation': { 
      'resource': 'users', 
      'field': '_id', 
      'embeddable': True 
     }, 
    },   
} 

我懷疑這將需要一個自定義類型,但我仍然沒有想到如何做到這一點。

回答

5

OK,找到如何表達的設備:

{ 
    'devices': { 
     'type': 'list', 
     'schema': { 
      'type': 'objectid', 
      'data_relation': { 
       'resource': 'devices', 
       'field': '_id', 
       'embeddable': True 
      }, 
     } 
    } 
} 

優秀的Cerberus documentation有它。