我Boolean在我的一个Parse实体上有一个列,我想查询将此列显式设置为false或保留为其默认undefined值的所有行.
我做不到equalTo('myBoolColumn', false),因为它不返回具有undefined此列值的行.
我宁愿不做notEqualTo('myBoolColumn', true),因为Parse文档指出notEqualTo查询效率不高,因为它们无法利用索引.
文档建议使用containedIn,但编写containedIn('myBoolColumn', [false, undefined])查询以实现预期结果感觉不对.
似乎notEqualTo布尔查询仍然可以编入索引,但我没有找到确认这一点的权威来源,我不知道如何测试此查询是否使用索引.
那么我应该使用哪一个:notEqualTo('myBoolColumn', true)或者containedIn('myBoolColumn', [false, undefined])?
您想要组合两个查询,如下所示:
var falseQuery = new Parse.Query('YourClass');
falseQuery.equalTo('myBoolColumn', false);
var undefinedQuery = new Parse.Query('YourClass');
undefinedQuery.doesNotExist('myBoolColumn');
//this is the query you should run
var query = Parse.Query.or(falseQuery, undefinedQuery);
query.find({....});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1966 次 |
| 最近记录: |