有办法做到这一点吗?或者使用oderByValue?还有其他意思吗?
fb.orderByChild('upvotes - downvotes').startAt(_start).endAt(_end).limitToLast(_n).on("child_added", function(dataSnapshot) {
data.push(dataSnapshot.val());
});
P.S。:是的,我已经开始在数据库中创建第三个跟踪(upvotes-downvotes)的条目,但这是我想避免的。
答案 0 :(得分:3)
不,orderByChild
正如其名称所说的那样。目前,没有办法定义这样的"计算"节点既不在数据模型中,也不在查询条件中。
因此,您应该将差异直接存储在数据库中,使用安全规则在其上设置索引,并将其用于查询。使用transaction更新投票计数应该有助于以干净的方式实施它。