我不确定我是否正确理解Firestore的读、写和删除。我认为我能理解的最好方法是,如果我对以下问题的每次阅读、写作或删除得到澄清、更正或答案。我正在使用Next.js
问:如果我把collection
和document
加起来,不管有多少fields
,它算1写,还是算我们写了多少collection
、documents
和总共fields
?阅读和删除的逻辑是一样的吗
项目的当前设置:
登录
我目前使用谷歌登录提供商作为登录方法。
每次用户登录CCD_ 7渲染和CCD_;用户";collection
,user.uiddocument
:
user: {
//Default Firebase Authentication info
}
标题组件(布局外(随后更新为:
user.photoURL
user.displayName
问:每次用户登录时读取和写入的次数是多少
张贴
在HomePagePosts组件(内部布局(上,从";帖子";CCD_ 11。每个帖子都包括:
user.photoURL
post.title
post.description
post.createdDate
postURL.postID
如果当前,登录用户创建了10个帖子中的任何一个,则编辑&显示删除按钮。对于我的问题,假设其中2个帖子是由当前登录的用户创建的。
问:这10篇文章的初始阅读量是多少
创建帖子:
当用户转到createpost页面时,CCD_;帖子";collection
,用户IDdocument
,";文件夹";collection
.长度>0.
如果文件夹长度不大于0,则显示CreateFolder组件,它包括:
folder.name
folder.type //local JSON file
当创建文件夹时;用户";collection
,用户IDdocument
,";文件夹";collection
,然后useEffect
再次渲染。
如果文件夹长度大于0,文件夹组件将显示文件夹列表。
当用户创建帖子CCD_ 20时;帖子";collection
带:
post.title
post.description
post.content
postCategory.selectedFolder.type
folder.{
folder.name
folder.type
}
tags.{
(lets say 2 tags)
}
问:在其中创建的1个帖子和1个文件夹的读写次数
一个对象有多少字段并不重要,当你在Firestore中执行写操作时,你必须支付一次写操作的费用。只有当规则允许写入时,并且只有当文档在1MIB限制内时,这才有效,否则将失败。同样的规则也适用于您执行的读取和删除操作。
如果你想降低成本,你可能有兴趣阅读这篇文章:
- 如何降低Firestore成本