Firebase限制用户可以保存的记录数

Firebase限制用户可以保存的记录数,firebase,firebase-realtime-database,Firebase,Firebase Realtime Database,假设我有一个评论系统,但我不希望同一用户在一篇博客文章上发表超过10条评论。基于以下数据架构,我将如何做到这一点: 0: user_id: 1 comment: Some comment 1: user_id: 1 comment: Some other comment same user 我知道我应该调整安全规则,但我似乎找不到一种方法来限制用户每篇文章或每篇文章的评论数不超过10条 有这样的规则吗?我认为您需要在Firebase树中的某个位置跟踪每个帖子的

假设我有一个评论系统,但我不希望同一用户在一篇博客文章上发表超过10条评论。基于以下数据架构,我将如何做到这一点:

0:
    user_id: 1
    comment: Some comment

1:
    user_id: 1
    comment: Some other comment same user
我知道我应该调整安全规则,但我似乎找不到一种方法来限制用户每篇文章或每篇文章的评论数不超过10条


有这样的规则吗?

我认为您需要在Firebase树中的某个位置跟踪每个帖子的用户评论数,然后在安全规则中引用该数字。这有意义吗?你可以要求客户在发帖子时增加这个数字。我知道你在说什么,但是什么能阻止客户不增加或者甚至减少这个数字呢?这是一个限制,我认为客户不应该对此发表任何意见。这是一个很好的观点。我想你可以用一个比较旧值和新值的安全规则来阻止某人减少计数,但我不确定你怎么能强迫他们增加计数。我还认为RulesDataSnapshot会有一个numChildren()方法,但它似乎没有。您可能需要一个节点服务器为您计算更改。不过很快Firebase的人可能会给你一个明确的答案,我很害怕。让一个nodejs服务器在后台计算事情有点违背了使用firebase的全部目的,因为我的客户端在提交数据之前需要与服务器进行检查,所以我的请求增加了一倍。我已经用node支持了我的应用程序,但我真的希望在这个早期阶段不需要它。这些规则是阻止不需要的数据的唯一方法,它需要能够处理这些任务,否则parse的云代码可能会更好。不过,我会等待firebase的答复。好吧,您仍然可以在客户端不直接与服务器通信的情况下完成这项工作。您的服务器只需增加count变量,您的客户端将受到基于该count变量的安全规则的约束。我想可能有人会在服务器更新计数之前运行脚本以极快的速度提交许多帖子,但您可以让服务器立即清理这些帖子。