分析服务器上的查询AND运算符
Parse query AND operator on the server
我使用Parse发送推送通知,需要发送给订阅了两个频道的用户:一个主频道和至少一个辅助频道列表。尝试只使用一个查询,如Parse论坛中建议的,但没有成功:(
//query main channel
var query1 = new Parse.Query(Parse.Installation);
query1.equalTo('channels', main);
//query secondary channels
var query2 = new Parse.Query(Parse.Installation);
query2.containedIn('channels', secondaryList);
//desired result
ParseQuery mainQuery = ParseQuery.and(query1, query2);
Parse.Push.send({
where: mainQuery,
data: {
alert: req.body.message,
uri: req.body.url
}
}, {
success: function() {
console.log("Push was successful");
},
error: function(error) {
console.error(error);
}
});
没有Query.and()这样的东西。通过限定单个查询来获得连词:
var justOneQuery = new Parse.Query(Parse.Installation);
justOneQuery.equalTo('channels', main);
justOneQuery.containedIn('channels', secondaryList);
Parse.Push.send({
where: justOneQuery,
// ...
由于两个测试都是关于channels列(可能是一个数组)的内容,因此可以用一个条件来限定单个查询:
var main = "foo";
var secondaryList = ["bar", "baz"];
var singleList = secondaryList.concat(main);
// this one constraint is exactly the same as the other two
justOneQuery.containedIn('channels', singleList);
// or you could do the same thing with three equalTo
justOneQuery.equalTo('channels', "foo");
justOneQuery.equalTo('channels', "bar");
justOneQuery.equalTo('channels', "baz");
我建议您按照上面的方式进行查询,使用一些您知道在数据中的硬编码变量。一旦知道了查询的工作原理,就可以集中精力确保正确调用函数。
相关文章:
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- j查询utc offSets的时差
- 如何有效地将游戏数据存储在URL查询字符串中
- 如何处理node.js节点mongodb中的连接和查询队列
- Selenium WebDriver and JavaScript change
- 如何从 HTML 查询中删除项目
- 从查询字符串参数推断出正确的数据类型
- 将curl查询转换为jQuery.ajax()
- 触发媒体查询断点时刷新页面
- 使用DynamoDB查询返回
- 当查询不在displayField中时,引导Ajax Typeahead不显示结果
- 分析服务器上的查询AND运算符
- 如果查询使用AND失败,但使用OR有效
- AngularJS$http POST请求,带有JSON参数AND查询字符串
- 如何在单个查询中添加多个 AND 和 WHERE
- 如何使用AND和OR进行条件Mongoose查询
- 如何使用MongoDB/ Mongoose.js查询OR/ and类条件
- Cloudcode -使用AND组合两个OR查询
- couchdb一个带有LIKE AND EQUAL的查询,或者两个查询
- JavaScript查询-使用AND &OR使用无线电、复选框和文本字段来启用表单元素