google-cloud-firestore - Firestore 添加关系数据?
问题描述
我有一张桌子products
和locations
。
可以说我location
的组成:
{
name: '...',
address: '...',
coordinates: '...'
}
我的product
包括:
{
name: '...',
location: 'location id here'
}
我想products
在特定区域(基于坐标)进行搜索和查找。
如果我在 products 表中只有记录ID,如何products
根据坐标进行查询?location
我将 ID 值简单地存储为 Firestore 中的字符串,因为数据是通过 CSV 文件导入的。
解决方案
Firestore 中没有链接。我的想法是您使用所需的坐标对您的位置集合进行查询。这将返回具有所需坐标的位置。
从该查询中获取位置 ID,并根据您拥有的位置字符串查询产品。
因此 Firestore 有更多限制,对于产品查询,您可以异步地为每个 id 发出一个请求,或者使用 where 语句使用运算符in
并传入要匹配的 id 数组。id 数组只能是 10 个或更少的值,否则查询将失败。因此,如果超过 10 个,您将需要发出多个此类请求。
推荐阅读
- c# - 流和 Azure API 愿景
- node.js - node -r source-map-support/register 在启动时失败
- actions-on-google - Google Smarthome oauth 帐户链接不起作用
- node.js - 试图构建一个 docker 文件并得到一个神秘的错误 - 在配置文件“/tsconfig.json”中找不到输入
- python - 如何在 django 中使用验证器
- javascript - 是否可以使用 react-router-dom 动态导航不同的本地主机?
- python - 访问嵌套字典的元素,该元素位于其他几个字典的列表中
- go - 将图像编码为 base 64 编码字节格式
- javascript - 如何修复jQuery mobile子菜单中标题下方的搜索字段
- java - 为什么子类对象使用的父类方法会导致错误?