当前位置:  开发笔记 > 编程语言 > 正文

Python前夕。在Cerberus模式上声明对象ID的数组

如何解决《Python前夕。在Cerberus模式上声明对象ID的数组》经验,为你挑选了1个好方法。

我正在使用Python-Eve开发API,我需要使用Cerberus创建一个MongoDB模式声明来表达如下文档:

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

我想知道如何声明Cerberus模式具有一个数组ObjectID,如devices上面的键。

我想要一个对其他文档的引用数组的架​​构,并且可能使它们可嵌入,就像下面的单元素架构示例(取自Python-Eve 文档):

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

我怀疑这将需要自定义类型,但我仍然没有弄清楚该如何做。



1> gcw..:

OK,找到了如何表达设备的方法:

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

出色的Cerberus 文档提供了它。

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有