Cloudant NoSQL:检索与查询时未知的键关联的所有文档

Cloudant NoSQL: retrieve all documents associated with key not known at query time

因此在我们的 Cloudant 数据库中,我们存储了多个 "schedule" 个文档,每个文档都有多个关联的 "event" 个文档。这是一个示例架构:

Schedule:

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

Event:

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

如果我们提前知道时间表的 _id,就可以很容易地在单个查询中获取时间表和相关事件。我想知道的是,如果我们只知道 userId,是否可以在单个查询中执行此操作。有什么方法可以在单个查询中获取与 userId 关联的所有计划以及与这些计划关联的所有事件?还是我们在这里做两个查询?我看了一些加入教程,他们没有解释它如何可行,但我不确定它是否完全不可能。

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

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