考虑我有一个对象A,它有一个指向对象B的指针。 对象B中有一个属性“title”。 我想在对象A上查询一个字符串,该字符串包含在对象B的标题中。 像
这样的东西var query1 = new Parse.Query("objectA");
query1.include("objectB");
query1.contains("objectB.title", anyQuery);
query.find({
success: function(obj){
},
error: function(obj, error) {
}
});
这里的“anyQuery”可以是用户在搜索字段中输入的任何字符串。考虑用户输入“Mary”作为查询我应该获得与objectB相关的所有objectA,其中标题包含“Mary”。例如“Maryland”。
基本上简单来说,我想在解析中对相关数据执行类似的查询。
感谢您的回复。我在https://parse.com/docs/js_guide#queries-relational阅读了文档。我想提出我的问题。我想使用matchesQuery形成的查询或条件我在我的代码中所做的事情如下,但我没有得到结果:
if(filterQuery) {
var Organization = Parse.Object.extend("Organization");
//LIKE QUERIES
var nameLikeQuery = new Parse.Query(Parse.User);
nameLikeQuery.contains("nameLc", filterQuery);
var phoneLikeQuery = new Parse.Query(Parse.User);
phoneLikeQuery.contains("phone", filterQuery);
var emailLikeQuery = new Parse.Query(Parse.User);
emailLikeQuery.contains("username", filterQuery);
var organizationMatchQuery = new Parse.Query(Organization);
organizationMatchQuery.contains("titleLc", filterQuery);
var userOrganizationQuery = new Parse.Query(Parse.User);
userOrganizationQuery.matchesQuery("organization", organizationMatchQuery);
var userQuery1 = new Parse.Query.or(nameLikeQuery, phoneLikeQuery);
var userQuery2 = new Parse.Query.or(emailLikeQuery, userQuery1);
userQuery = new Parse.Query.or(userQuery2, userOrganizationQuery);
} else {
userQuery = new Parse.Query(Parse.User);
}
if(type != "ALL") {
userQuery.equalTo("userType", type);
}
userQuery.include("organization");
userQuery.descending("createdAt");
userQuery.find();
答案 0 :(得分:0)
正如Chris所说,这种情况在这里的关系查询中有详细记录:
https://parse.com/docs/js_guide#queries-relational
因此,根据您的特殊需求,它看起来像:
var objectBQuery = new Parse.Query("objectB");
objectBQuery.contains("title", anyString);
var objectAQuery = new Parse.Query("objectA");
objectAQuery.matchesQuery("objectB", objectBQuery);
objectAQuery.find().then(function (list) {
// use list
}, function (error) {
console.log(error);
});