Parse platform 有没有办法使用Parse.Query作为云函数的参数?

Parse platform 有没有办法使用Parse.Query作为云函数的参数?,parse-platform,parse-cloud-code,Parse Platform,Parse Cloud Code,我猜这是一个愚蠢的问题,但是有没有办法使用查询对象作为参数来调用解析云代码函数?例如 myQuery = ParseQuery.getQuery("myClass"); //do some query setup... parameters = new HashMap<String, String>(); parameters.put("query", myQuery); ParseCloud.callFunctionInBackground("quer

我猜这是一个愚蠢的问题,但是有没有办法使用查询对象作为参数来调用解析云代码函数?例如

   myQuery = ParseQuery.getQuery("myClass");
   //do some query setup...
   parameters = new HashMap<String, String>();
   parameters.put("query", myQuery);
   ParseCloud.callFunctionInBackground("queryFunction", parameters, new FunctionCallback() {
     public void done(Object object, ParseException e) {
       //do something with return object
     }
   }
myQuery=ParseQuery.getQuery(“myClass”);
//做一些查询设置。。。
参数=新的HashMap();
参数put(“查询”,myQuery);
callFunctionInBackground(“queryFunction”,参数,新函数callback(){
公共void已完成(对象,parsee异常){
//对返回对象执行某些操作
}
}
到目前为止,在尝试这一点时,解析对象似乎不能作为参数发送,查询似乎也没有任何改善。
谢谢!

您无法传递查询本身。您可以创建一个JSON对象来表示查询,类似于javascript在云端的格式化方式,但这可能需要大量工作。最好将参数格式化为以下格式:

{ className: <class name to query>,
  equalTo: [ param1:value,
             param2:value...
           ],
  notEqualTo: ...,
  sort:...,
  ....
}
{className:,
equalTo:[参数1:值,
参数2:值。。。
],
notEqualTo:。。。,
排序:。。。,
....
}

然后在后端构造查询。您也可以传入用于确定如何设置查询的参数。

这就是我认为必须要做的。好吧,我看看是否可以处理:-)您想解释一下为什么要将查询传递给服务器吗?如果这是一种可以在服务器上执行的逻辑,那就更理想了。特别是如果这将用于移动应用程序。您可以更新云代码,而无需更新移动客户端。想出一个在云代码中保留这种逻辑的解决方案可能是你最好的选择。哦,我主要是在学习如何使用云代码做一些事情,并想看看它的功能是什么。我正在测试的当前函数只是一个只返回查询中找到的项的ObjectId的函数,而不是对象本身。完全没有必要,但你知道。。。看看是否可能:-)您需要的是query.includeKeys。这正是你想要的。它将只返回您指定的键。您还可以使用query.include获取指向查询对象的指针,这也适用于点表示法<代码>objectAQuery.include('objectB')。include('objectB.objectC')