我的解析表中有一个名为emailId的列。结构如下所示
objectId emailId
asdsdfdf abc@gmail.com
agrhxcdf xyz@gmail.com
qwrtyjdf abc@gmail.com efg@gmail.com
我的emailId列中有一些多个电子邮件子字符串条目,其中字符串为列类型,例如第3行中包含objectId qwrtyjdf。
我想搜索所有带有价值的电子邮件ID" abc@gmail.com"
使用以下查询时,我将长度设为1。
query.equalTo("emailId", "abc@gmail.com");
query.contains("emailId", "abc@gmail.com");
我需要知道如何在parse表中查询emailId列,以便它应该从第1行和第3行返回长度为2。
答案 0 :(得分:0)
我相信Parse使用AND连接在同一个查询中连接多个条件,这意味着 - 获取所有等于abc@gmail.com
并且还包含abc@gmail.com
作为子字符串的记录。查看您提供的源数据,仅记录否。 1匹配这个条件。
相反,你需要OR连接 - 要么等于abc@gmail.com
要么包含abc@gmail.com
作为子串。检查例如here如何构造复合查询(OR)。
顺便说一下,为什么不使用query.contains()
功能。我认为它应该匹配1和3。
希望它有所帮助。
更新
好吧,假设Parse类叫做电子邮件,我已经在Objective-C中尝试了它(应该是类似的),并且遵循JS代码也应该有效:
var query = new Parse.Query("E-mail");
query.contains("emailId", "abc@gmail.com");
query.find({
success: function(results) {
// results contains a list of players that either have won a lot of games or won only a few games.
},
error: function(error) {
// There was an error.
}
});