我可以命令孩子或orderByValue将1个孩子减少到另一个吗? (或使用计算变量的任何其他方法)

时间:2016-11-06 14:37:37

标签: javascript firebase firebase-realtime-database

有办法做到这一点吗?或者使用oderByValue?还有其他意思吗?

fb.orderByChild('upvotes - downvotes').startAt(_start).endAt(_end).limitToLast(_n).on("child_added", function(dataSnapshot) {
          data.push(dataSnapshot.val());
       });

P.S。:是的,我已经开始在数据库中创建第三个跟踪(upvotes-downvotes)的条目,但这是我想避免的。

1 个答案:

答案 0 :(得分:3)

不,orderByChild正如其名称所说的那样。目前,没有办法定义这样的"计算"节点既不在数据模型中,也不在查询条件中。

因此,您应该将差异直接存储在数据库中,使用安全规则在其上设置索引,并将其用于查询。使用transaction更新投票计数应该有助于以干净的方式实施它。