所以我有一个这样的数据库结构(简化为相关项
{
users: {
userId: {
relatedContracts: [list of contract ids]
}
},
contracts: {
contractId: {
...contractMetaData
}
}
}现在,假设我想要获取相关合同并将其显示在用户主页上。从user对象中,我可以获得合同ids的列表。
我可以为每个合同编写一个单独的查询,如下所示:
database.ref("/contracts/").child(contratId1).once('value')
database.ref("/contracts/").child(contractId2).once('value')但是有没有办法批量处理这个请求呢?这样我提供了一个i列表,它将返回所有相关的合同。
在这样一个文档驱动的数据库中,处理关系的正确方式是什么?似乎每个关系只做一个数据库请求不能很好地伸缩?
发布于 2018-07-16 08:58:49
这里不存在可伸缩性问题。使用文档if获取X文档总是会导致X节点查找,无论它们是否是批处理的。客户端库通过管道将请求发送到服务器,这与批处理一样好(而且还让您有机会在获取文档之前开始处理文档,而批处理是不允许的)。
https://stackoverflow.com/questions/51353079
复制相似问题