您将如何构建Cloud Firestore数据库。
我收藏了团队,竞技场和游戏:
public class Team {
public String name;
public String homeCourtId;
}
public class Game{
public String matchId;
public String date;
public Arena arena;
public Team homeTeam;
public Team awayTeam;
}
public class Arena {
public String name;
public String phone;
public String email;
public String address;
public String postalCode;
public String city;
public String district;
public String cordLat;
public String cordLong;
}
在游戏中,团队可以是主队也可以是客队,而游戏始终具有竞技场。
因此,目前我的想法是将所有比赛都纳入“游戏”收藏夹,当我想查找某个团队的所有游戏时,我需要查询“游戏”收藏夹并查找所有选定球队是主队还是客队的比赛。
我应该在Firestore生成的ID处引用团队吗?还是应该输入团队名称?我可以从中获得更多关于此的任何指示吗?
他们是在Firestore中构建数据的更好方法吗?(或任何nosql db)
我需要查询“游戏”集合,并找到所有选定球队为主队或客队的比赛。
关于此类查询,Cloud
Firestore官方文档非常明确。不幸的是,当涉及到Firestore时,存在一些查询限制:
Cloud Firestore不支持以下类型的查询:
- 逻辑或查询。在这种情况下,您应该为每个OR条件创建一个单独的查询,并将查询结果合并到您的应用中。
所以,你不能查询集合找到所有的游戏中选择的球队 无论是 在单去主队或客队。
一种工作是将您的数据库查询两次,并在客户端合并这些查询的结果。这不是完美的,因为您需要查询两次,但我认为它将成功。
对于Android,这是您可以在本地合并两个查询的方式:
但是,根据弗兰克·范·普菲伦(Frank vanPuffelen)关于同一主题的回答:
OR查询,因为那些查询将需要跳过索引,这将无法保证性能。请注意,正在努力支持可能的IN查询的子集,以便您可以查询诸如“给我提供泰国或意大利美食的所有餐厅”之类的信息。
您可以等到此功能可用,或者可以使用上面的我的解决方案。
我应该在那里找到由Firestore生成的ID对团队的引用吗?还是应该输入团队名称?
在大多数情况下,我们通常使用用户ID而不使用名称,原因是名称可以更改,而ID则可以更改。但是,由您决定是否最好使用名称而不是ID进行搜索。
附注:如果您查找的不是"OR"
查询"AND"
查询,请注意,whereTo()
允许链接多个呼叫。
我有一个包含3个表的数据库:品牌(想想麦当劳)->商店->销售 每个店铺都有很多销售,每个品牌都有很多店铺。如果我想查询麦当劳有多少销售额来建立一个报告,我该如何构造我的品牌文档?我是在brands文档中保留一个字段(每当每个商店销售时就会更新该字段),还是在商店文档中保留一个字段,然后循环遍历所有商店,为每个品牌创建一个销售额总和。 第一种方法可能在读操作上表现得更好,而第二种方法在写操作上表现
一、Nosql 简介 传统的关系型数据库存在以下缺点: 大数据场景下 I/O 较高 - 因为数据是按行存储,即使只针对其中某一列进行运算,关系型数据库也会将整行数据从存储设备中读入内存,导致 I/O 较高。 存储的是行记录,无法存储数据结构。 表结构 schema 扩展不方便 - 如要需要修改表结构,需要执行执行 DDL(data definition language),语句修改,修改期间会导致
结构型模式(Structural Pattern)描述如何将类或者对象结合在一起形成更大的结构,就像搭积木,可以通过简单积木的组合形成复杂的、功能更为强大的结构。 结构型模式可以分为类结构型模式和对象结构型模式: 类结构型模式关心类的组合,由多个类可以组合成一个更大的 系统,在类结构型模式中一般只存在继承关系和实现关系。 - 对象结构型模式关心类与对象的组合,通过关联关系使得在一 个类中定义另一个
如果你想结合3D打印或是激光切割制作一些结构件来完成你的作品,可以下载光环板的3D模型图。 3D模型图下载
一、前言 结构型模式 结构型模式(Structural Pattern)描述如何将类或者对 象结合在一起形成更大的结构,就像搭积木,可以通过 简单积木的组合形成复杂的、功能更为强大的结构。 结构型模式可以分为类结构型模式和对象结构型模式: 类结构型模式关心类的组合,由多个类可以组合成一个更大的系统,在类结构型模式中一般只存在继承关系和实现关系。 对象结构型模式关心类与对象的组合,通过关联关系使得在
问题内容: 我有一个专栏 组 。 群组 具有存储在group_types中的不同类型(买方,卖方,裁判)。只有当该组是买方类型时,它才具有另一种(更专门)的类型,例如电气和机械类型。 我对如何将其存储在数据库中感到有些困惑。 有人可以建议我一个数据库结构吗? 谢谢 问题答案: 将您的存储为层次结构表(带有或模型): : 将选择中的所有买家。 : 将选择任何数据库中的所有买家。 如果您不需要层次结构