如何在Parse中进行有效的布尔"false或undefined"查询?

Pas*_*que 5 parse-platform

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])

Ale*_*ren 7

您想要组合两个查询,如下所示:

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)