使用parse.com使用多个OR进行查询
Query with multiple OR using parse.com
我当前的项目使用Parse.com(JS(。SQL中的一件简单的事情让我对Parse.com着迷,我已经阅读了文档,但我必须说,我很难正确理解"对象"方法。
无论如何,我需要做的是对一个查询应用多个"OR"。假设我有三张桌子:
UserObject(uid, username, password)
ResponseObject(rid, _userid, _questionid, response) // not used here
QuestionObject(qid, questionTitle, _userid)
_userid are pointers to the User table
_questionid is a pointer to the Question table
我首先需要从用户表中选择以"mat"开头的用户,我这样做:
var UserObject = Parse.Object.extend("UserObject");
var query = new Parse.Query(UserObject);
query. startsWith("username", "mat");'
query.find({
success: function(results) { etc...
在结果中,我现在有了一组我需要的用户。现在,我需要选择question表中_userid与此数组匹配的所有问题。我知道我可以使用Parse.Query.or如下:
var QuestionObject = Parse.Object.extend("QuestionObject");
var query1 = new Parse.Query(QuestionObject);
query1.equalTo("userid", results[0].get('uid'));
var query2 = new Parse.Query(QuestionObject);
query2.equalTo("userid", results[1].get('uid'));
var mainQuery = new Parse.Query.or(query1, query2);
mainQuery.find({...})
但我不知道结果有多大,如果我有50个用户,我不想使用Parse.Query.or 50次!所以我确信有一个简单的解决方案,但我被卡住了!我想直接将"结果"传递给新的查询或类似的东西!
不需要Parse.Query.or()
。如果对象属性的值是某个值数组中的一个,则Parse.Query
提供将匹配的containedIn()
。
(问题指出Question
对象上的userId
是一个指针。这是一个很好的选择,但名称"userId"是一个令人困惑的选择。它是id还是对象?我希望是对象,这个答案的其余部分假设是这样(。
// results is an array of Parse.User from a prior query
var QuestionObject = Parse.Object.extend("QuestionObject");
var query = new Parse.Query(QuestionObject);
query.containedIn("userid", results);
query.find(...)
更充分,有承诺。。。
var userQuery = new Parse.Query("UserObject");
userQuery.startsWith("username", "mat");
userQuery.find().then(function(userObjects) {
var query = new Parse.Query("QuestionObject");
query.containedIn("userid", userObjects);
return query.find();
}).then(function(questions) {
// questions are Questions who's users' username begins with 'mat'
});
相关文章:
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- j查询utc offSets的时差
- 如何有效地将游戏数据存储在URL查询字符串中
- 如何处理node.js节点mongodb中的连接和查询队列
- Angular 2.0 with JavaScript or TypeScript?
- 如果查询使用AND失败,但使用OR有效
- 基于媒体查询/视口的JavaScript中的Else语句OR'视网膜'-修理
- 发电机查询中的运算符OR
- 在快递.js中查询$or
- 使用 limit 解析“or”查询将返回忽略单个查询限制的所有记录
- 使用 SDK2.0 进行查询:OR 一起筛选
- 如何在nodejs/MongoDB中执行OR操作查询
- 如何使用AND和OR进行条件Mongoose查询
- 使用parse.com使用多个OR进行查询
- 如何使用MongoDB/ Mongoose.js查询OR/ and类条件
- Cloudcode -使用AND组合两个OR查询
- JavaScript查询-使用AND &OR使用无线电、复选框和文本字段来启用表单元素
- 如果单击或搜索查询打开手风琴>0(不确定如何做OR部分)
- 在初始化变量时查询OR操作符
- IndexedDB中的多键查询(类似于sql中的OR)