2

私は Python-Eve で API を開発しています。以下のようなドキュメントを表現するために、Cerberus を使用して MongoDB スキーマ宣言を作成する必要があります。

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

ObjectID上記のdevicesキーのように、Cerberus スキーマが の配列を持つように宣言する方法を知りたいです。

他のドキュメントへの参照の配列のスキーマが必要であり、Python-Eve のドキュメントから取得した以下の単一要素スキーマの例のように、それらを埋め込み可能にしたいと考えています。

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

これにはカスタムタイプが必要になると思いますが、その方法はまだわかりません。

4

1 に答える 1

7

OK、デバイスを表現する方法を見つけました:

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

優れた Cerberus のドキュメントにはそれがあります。

于 2015-12-22T09:52:05.963 に答える