Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Api CouchDB数据库模型_Api_Rest_Couchdb - Fatal编程技术网

Api CouchDB数据库模型

Api CouchDB数据库模型,api,rest,couchdb,Api,Rest,Couchdb,我有两个实体: 公司[公司ID(PK)],以及 员工[员工ID(主键),公司ID(主键,FK)] 我是否可以在CouchDB中组织文档,以便使用以下格式查询员工($CouchDB是我的CouchDB实例的URL) 我知道我们可以将公司和员工文档混合在一个数据库中,并使用元字段(例如:“_type”)和映射/减少来查询我们想要的文档。“map/reduce”方法没有错,只是想再次检查,这样我就不会错过任何东西 非常感谢,您不能这样组织文档。我同意,这是一个非常好的布局,但是简单的回答是CouchD

我有两个实体:

  • 公司[公司ID(PK)],以及
  • 员工[员工ID(主键),公司ID(主键,FK)]
  • 我是否可以在CouchDB中组织文档,以便使用以下格式查询员工($CouchDB是我的CouchDB实例的URL)

    我知道我们可以将公司和员工文档混合在一个数据库中,并使用元字段(例如:“_type”)和映射/减少来查询我们想要的文档。“map/reduce”方法没有错,只是想再次检查,这样我就不会错过任何东西

    非常感谢,

    您不能这样组织文档。我同意,这是一个非常好的布局,但是简单的回答是CouchDB不支持它

    文档ID(和文档URL)是平面的。它们都共享相同的名称空间。另一种说法是,文档中的
    “\u id”
    值必须是其主键。

    您不能以这种方式组织文档。我同意,这是一个非常好的布局,但是简单的回答是CouchDB不支持它

    文档ID(和文档URL)是平面的。它们都共享相同的名称空间。另一种说法是,文档中的
    “\u id”
    值必须是它的主键。

    尽管文档
    \u id
    可以包含
    /
    。那么
    company/COMPANYID/employee/EMPLOYEEID
    就是一个有效的id

    我经常使用以下方案来构建文档的
    \u id
    (我更喜欢
    \u
    ):

    使用此
    \u id

    • 我不需要
      \u type
      字段
    • 我得到的所有公司都有
      \u所有文档?startkey=“Company”&endkey=“Company\uff0”
    • 我使用
      \u all\u docs?startkey=“Employee\u COMPANYID”&endkey=“Employee\u COMPANYID\uff0”
      获取公司内的所有员工
    • 我避免不同实体之间的id冲突
    尽管如此,文档
    \u id
    可以包含
    /
    。那么
    company/COMPANYID/employee/EMPLOYEEID
    就是一个有效的id

    我经常使用以下方案来构建文档的
    \u id
    (我更喜欢
    \u
    ):

    使用此
    \u id

    • 我不需要
      \u type
      字段
    • 我得到的所有公司都有
      \u所有文档?startkey=“Company”&endkey=“Company\uff0”
    • 我使用
      \u all\u docs?startkey=“Employee\u COMPANYID”&endkey=“Employee\u COMPANYID\uff0”
      获取公司内的所有员工
    • 我避免不同实体之间的id冲突
    $CouchDB/company/{companyId}/employee/{employeeId}
    
    EntityName_ENTITYID