【问题标题】:Cloudant NoSQL: retrieve all documents associated with key not known at query timeCloudant NoSQL:检索与查询时未知的键关联的所有文档
【发布时间】:2015-09-08 20:04:09
【问题描述】:

所以在我们的 Cloudant 数据库中,我们存储了多个“计划”文档,每个文档都有许多关联的“事件”文档。这是一个示例架构:

Schedule:

{
 "_id": "123",
 "_rev": "456",
 "type": "schedule",
 "userId": "sampleUser"
}

Event:

{
 "_id": "1234",
 "_rev": "5678",
 "type": "event",
 "scheduleId": "123"
}

如果我们提前知道日程安排的_id,就很容易在单个查询中获取日程安排和相关事件。我想知道的是,如果我们只知道userId,这是否可以在单个查询中完成。有没有办法在单个查询中获取与userId 关联的所有计划以及与这些计划关联的所有事件?还是我们在这里卡住了两个查询?我查看了一些加入教程,他们没有解释它是如何可行的,但我不确定这完全不可能。

如果这不可行,我可以在日程表文档中包含所有事件 ID 的数组,但这不是一个理想的解决方案,因为它需要我们在每次添加新事件时更新日程表文档。

【问题讨论】:

    标签: cloudant nosql


    【解决方案1】:

    除非您能够更改数据模型并使事件成为计划文档的一部分,否则您将需要两个查询。

    【讨论】:

    • 是的,没有回应似乎表明这无法完成。谢谢!
    • 您还可以考虑为每个日程/事件关联创建一个映射文档(假设日程中除了 userId 之外还有元数据)。我可能会走这条路线,每个映射文档都有一个自定义 _id,格式为“-”。
    猜你喜欢
    • 2013-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多