在使用新的IN操作符时,我注意到它不适用于boolean true
值。
collection
.where( 'deleted', 'in', [ true, false ] )
这似乎只返回值为deleted
的文档为false
。另一方面,当使用"false"
和"true"
作为strings
时,它工作得很好,但这并不真正优雅...不是吗?
有线索吗?我是不是从文件里漏掉了什么?
另外,另一件似乎不起作用的事情是(从文档中):
.where( 'region', 'in', [[ 'east', 'west' ]] )
这会导致Firebase SDK崩溃,说明查询中有一个无效的值。虽然这并不重要,但我认为这只是Google的一个错误拼写。
我已经向Firebase团队报告了这两个问题,希望你们也有一些见解。
1条答案
按热度按时间hyrbngr71#
您确定您使用的是最新的JavaScript SDK version(撰写本文时为7.5.0)吗?
因为您的问题中提到的两段代码都适用于v7.5.0。
.where( 'deleted', 'in', [ true, false ] )
工作然后呢
或
也可以工作(从v7.4.0开始,请参阅文档:“in查询运算符现在接受嵌套数组”)。但是,在这种情况下,“子句[shall]匹配数组长度、顺序和值的精确匹配。”