0
Firebase数据库startAt(boolean)
做什么?Firebase数据库订购功能startAt(布尔值)
创建受限于仅与大于或等于值 给定值,返回子节点查询,使用给出的排序依据 指令或优先级为默认值。
布尔如何可以比另一个布尔值更大?
Firebase数据库startAt(boolean)
做什么?Firebase数据库订购功能startAt(布尔值)
创建受限于仅与大于或等于值 给定值,返回子节点查询,使用给出的排序依据 指令或优先级为默认值。
布尔如何可以比另一个布尔值更大?
值是否大于另一值是由排序方法定义的。该火力地堡所使用的方法是explained in the documentation:
当使用
orderByChild()
,数据包含指定的子键如下命令:
- 儿童与指定的子键
null
价值是第一位的。- 接下来是指定子键的值为
false
的儿童。如果多个孩子的值为false
,则按按键按字典顺序排序。- 指定子键的值为
true
的孩子接下来。如果多个孩子的值为true
,则它们按键按字典顺序排序。- 带数值的孩子接下来按升序排序。如果多个子项对于指定的子节点具有相同的数值,则按键排序。
- 字符串在数字之后,按照字典顺序按升序排列。如果多个子项对于指定的子节点具有相同的值,则它们按键按字典顺序排序。
- 对象最后以按照按升序排列的按字典排序。
至于象火力地堡的排序而言,true
比false
更大。
哦,就是这样。所以如果我想过滤所有有foo子节点的节点,我会做reference.orderByChild(“foo”)。startAt(false)。没有更可读的方式来做到这一点? – cuddlecheek
这就是它的工作方式,因为Firebase查询是基于范围的。如果你在'foo'中存储的值有一些限制,你可以得到更可读的东西。例如,如果你正在存储正整数,'startAt(0)'将更具可读性。如果你正在存储字符串'startAt(“”)'可能工作(我没有尝试过)。这取决于数据。 – cartant