问题标签 [google-cloud-firestore]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
firebase - 公共和私有字段的 Firestore 安全规则
对于 Firebase 实时数据库的安全规则,公共数据和私有数据可以使用如下规则存在于同一棵树中。
但是,在使用 Firestore 时,我们似乎无法做到这一点,因为我们可以检索的数据只是在 collection 或 document 下。当公共数据和私有数据在同一个文档中定义并使用集合/文档获取数据时,如果我们不是所有者,我们会收到私有数据权限不足的错误。
使用 RTDB 时,我们可以获取 'users/{userId}/publicInfo' 的数据,因为我们对集合/文档一无所知。
有什么办法可以用 Firestore 做到这一点?否则,我们应该分别进行公共/私人收藏吗?
database - Cloud Firestore 事务的限制
我已阅读有关Firestore 上的事务更新操作的文档。根据配额和限制,关于交易只有两个限制:
- 事务的最大大小:10 MiB
- 交易时间限制:270秒,空闲过期时间60秒
没有明确提到与事务相关的限制,在事务期间可以读取和/或修改多少文档或集合,或者是否对发生事务更新的集合有任何额外的限制。
这是否意味着,只要更新保持在这些和其他一般限制范围内,客户端可以对多达 500 个文档进行事务更新,每个文档都位于不同的集合中?
如果客户端在事务中读取多个文档,但只更新其中一个 - Firestore 是否仍然(静默)写入未修改的文档(用于序列化等)......所以我必须考虑每次写入 1 次的写入限制即使对于没有被客户端明确修改的文档,每秒的文档数也是如此。
PS:我问的原因是 Datastore 在事务中限制为 25 个实体组,并且在许多写入事务中也看到只读实体(“文档”)中的热点。例如,请参阅Dan McGrath 的这个答案。我只是想知道 Datastore 的哪些特征会延续到 Firestore,并且在设计 Firestore 数据库时必须考虑。
google-app-engine - GAE 中的 Cloud Python 库是否使用缓存或内存缓存来访问 Cloud Firestore 数据?
设置:Python 标准环境上的 Google App Engine 应用程序。
目前,该应用程序使用 NDB 库从其数据存储区读取/写入。它使用异步小任务从 Datastore 和 memcache 进行并行、异步读取。
如果我想使用 Firestore 作为 Datastore 的替代品,我似乎必须使用 Google Cloud Client Library for Python。我相信 google-cloud lib 不支持像 tasklet 这样的机制。但我想知道:lib 是否使用线程安全缓存机制来请求 Firestore API,甚至可能是 GAE 的内存缓存?
firebase - 新的 Firebase Firestore DocumentDb 如何为大型子集合建模
在 firebase 实时数据库中,您通常会将大型子集合移出到它自己的单独集合中。例如,如果用户可能有大量关注者,则数据模型可能会在用户对象中保留关注者数组,但将关注者移出到单独的集合中。
用户
- 用户身份
- 用户名
- 下列的: []
- 用户身份
- 用户名
追随者
- 用户身份
- 追随者用户ID
您是否必须使用新的 Cloud Firestore 进行相同类型的建模,或者您是否可以在查询中使用投影,这样您就不会在每次扫描时返回大型子集合。听起来子集合存储在他们自己的完整集合中,所以这可能会提高存储子集合的效率?
android - google firestore - 获取 DuplicateFileException
请给我建议。我刚刚遵循了本指南,从这条线上compile 'com.google.cloud:google-cloud-firestore:0.25.0-beta'
没有任何效果。
错误:任务':app:transformResourcesWithMergeJavaResForDebug'的执行失败。com.android.build.api.transform.TransformException:com.android.builder.packaging.DuplicateFileException:在 APK project.properties 中复制的文件重复
文件 1:C:\some.gradle\caches\modules-2\files-2.1\com.google.cloud\google-cloud-core\1.7.0\453cc89cde3f2896825aecfb4d05dc2ba06f9775\google-cloud-core-1.7.0.jar
File2: C:\some.gradle\caches\modules-2\files-2.1\com.google.cloud\google-cloud-firestore\0.25.0-beta\7258a705784332ebc9be97f28be93b3e6548073f\google-cloud-firestore-0.25.0-beta 。罐
google-cloud-core
但我的文件中没有导入gradle
。这是来自的输出gradle
:
android - firestore:PERMISSION_DENIED:权限缺失或不足
我收到错误
gettingdocuments.com.google.firebase.firestore.FirebaseFirestoreException:PERMISSION_DENIED:缺少权限或权限不足。
对于 else 语句中的以下代码
javascript - 使用 firestore 创建安全的类似 REST 的 API
我想在 firebase firestore存储一对多的关系。假设我有一个作者,并且有属于这个作者的书。我可以将它存储在嵌套关系中:
但是我还需要一种列出所有书籍的方法,最好不要遍历每个作者(afaik 需要实时数据库),所以我想我应该这样做
但出于安全和性能原因,我宁愿不在前端进行过滤。我发现可以编写查询:
这有望消除性能问题,但它并不安全,因为可以从客户端获取其他作者的书籍。另外,我宁愿将关系存储在作者文档中,而不是相反。
例如,在带有 Django Rest Framework 的 restful API 上,我将查询集限制为仅返回属于给定用户的书籍。IIUC 可以使用IAM,但基于示例我不太确定如何。
再说一次,我只想退回这本书,前提是它的 id 列在作者的 books 属性中。一本书理论上可以属于多个作者。
我想这是重复的,很多人都有这个问题,但我找不到这个特定用例的明确答案。
firebase - Cloud FireStore 最低部署目标
尝试使用 Cloud FireStore 启用应用时出现以下错误:
我将 podfile 要求更改为 10.2,我的 xcode 部署更改为 10.2,但我仍然收到此错误。有什么建议么?
编辑:
我的解决方案:我做了
按照这个顺序,它起作用了。
angular - angular + firestore:如何允许对文档的公共读取访问
我是一名学生开发人员,在我的 Angular 应用程序中试用了新的 Firestore,但遇到了安全规则。
我想要实现的目标:
使用模板绑定在角度视图中显示 Firestore 文档。未经身份验证的用户应该可以查看该文档。
问题:
如果未经身份验证的用户尝试查看该页面,则会发生权限错误:
ERROR 错误:权限缺失或不足。在新的 FirestoreError (error.js:164)
模板文件:
component.ts 文件:
火场规则: