链接3种类型的文档以进行查看

时间:2018-11-07 14:11:41

标签: view couchdb

创建视图时,我在链接文档方面苦苦挣扎。

  

一个销售员有多个客户,每个客户有多个   购买。

我需要获取一个包含以下内容的视图:

每个客户购买的

销售人员ID。

在关系数据库中,我将加入:

purchase.clientid -> client._id
                     client.salesperson -> salesperson._id

给出:

{ _id: "1", type: "purchase", clientid: "2", items: [] }
{ _id: "2", type: "client", salespersonid: "3", name: "Chris the client" }
{ _id: "3", type: "salesperson", name: "Simon the salesperson" }

我尝试阅读很多东西,但没有任何点击。我将如何执行此操作?

1 个答案:

答案 0 :(得分:0)

Disposable a = camRepo.getAttachmentToken(result.getResult().getId())
                .repeatWhen(t -> t.flatMap(x -> {

使用上述文档,您可以查询所有以'purchase-client2'开头的文档,以获取购买文档的数组。然后,每个购买单据都会告诉您销售人员是谁。根据销售人员的数量,假设您的销售ID到名称的映射已经在内存中,您可能已经拥有了所需的一切。

如果没有,则可以进行进一步查找(并可能缓存该结果)。如果该内存中查找或其他查找对您不起作用,您还可以在购买单据中复制销售人员的姓名。毕竟,NoSQL DB不遵循与关系数据库相同的规则,可以一次又一次地复制。您只需要考虑以后如何保持公仔同步。

如果您可以使用和滥用ID字段和无视逍遥游,那么您可能会更好。视图带来了自己的一系列问题。祝你好运!