Parse.com的云代码,查询Parse.User

时间:2015-09-23 17:37:51

标签: javascript parse-platform cloud-code

我需要在Cloud Code中编写后台作业。 它应查询每个用户的“用户”类,获取“商品”列中的技能数组。然后,它应该再次查询“用户”类,以便每个用户将匹配的第一个用户的技能与所有其他用户进行比较。

这是我目前所拥有的......

Parse.Cloud.job("backgroundJob", function(request, status) {
// Set up to modify user data
Parse.Cloud.useMasterKey();
var counter = 0;
// Query for all users
var users_query = new Parse.Query(Parse.User);

users_query.find(function(user) {


               for(var i = 0; i < user.length; i++){
               var searchSkills = user[i].get("search");


               var query = new Parse.Query(Parse.User);
               query.containedIn("offer", searchSkills);

               var pushQuery = new Parse.Query(Parse.Installation);
               pushQuery.matchesQuery('user', query);

               }

               Parse.Push.send({
                               where: pushQuery,
                               data: {
                               alert: "Found someone close to you!"
                               }
                               }, {
                               success: function() {
                               // Push was successful
                               },
                               error: function(error) {
                               // Handle error
                               }
                               });


               status.message(counter + " users processed.");
               counter++;
               }).then(function() {
                       // Set the job's success status
                       status.success("Success");
                         }, function(error) {
                       // Set the job's error status
                       status.error("Error has been encountered");
                       });
            });

我在推送通知中遇到以下错误: 无法对不存在的列“offer”执行操作

显然,它会为我的第二个用户查询创建一个新的空“用户”类。 任何帮助将非常感谢。

UPDATE!多数民众赞成我的用户类如何: enter image description here

1 个答案:

答案 0 :(得分:0)

这是containsIn方法的链接:https://parse.com/docs/js/api/classes/Parse.Query.html#methods_containedIn

因此,您需要在用户上添加“offer”列,其中包含可在数组searchSkills中找到的值。听起来你没有“报价”专栏。也许你有“优惠”?这些都区分大小写。

对于第二部分,您的安装中是否有“用户”字段?我相信,这是你必须手动设置的东西。所以听起来你从来没有设置过,它正在为查询创建一个空白的用户字段。

此外,Query.find只能返回1000个结果。如果您想要浏览所有用户,则必须使用Query.each。