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 的数组,但这不是一个理想的解决方案,因为它需要我们在每次添加新事件时更新日程文档。
除非您能够更改数据模型并使事件成为计划文档的一部分,否则您将需要两个查询。
因此在我们的 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 的数组,但这不是一个理想的解决方案,因为它需要我们在每次添加新事件时更新日程文档。
除非您能够更改数据模型并使事件成为计划文档的一部分,否则您将需要两个查询。