如何让Parse查询只返回x个结果?

时间:2015-11-15 01:28:01

标签: javascript parse-platform

我目前正在运行Parse云代码后台作业,该作业涉及查询所有用户,然后为返回的每个用户对象运行许多函数。如何将查询设置为仅返回第一个______用户对象,而不是所有对象?

我知道如果您只想返回第一个结果,请执行return usersQuery.first而不是return usersQuery.each。是否只有返回前X个结果的等价物?

Parse.Cloud.job("mcBackground", function(request, status) {
    // ... other code to setup usersQuery ...
    Parse.Cloud.useMasterKey();

    var usersQuery = new Parse.Query(Parse.User);

    return usersQuery.each(function(user) {
            return processUser(user)
                .then(function(eBayResults) {
                    return mcComparison(user, eBayResults);
                });
        })
        .then(function() {
            // Set the job's success status
            status.success("MatchCenterBackground completed successfully.");
        }, function(error) {
            // Set the job's error status
            status.error("Got an error " + JSON.stringify(error));
        });
});

2 个答案:

答案 0 :(得分:1)

不幸的是,您无法将.limit.each合并。我建议不要使用后台作业,而是使用解析npm模块在Heroku或其他提供程序(甚至本地计算机)上运行此逻辑。这将允许您更灵活,并且您不需要将其分解为1,000个对象块。

答案 1 :(得分:0)

尝试使用Parse的.limit()选项:

Parse.Cloud.job("mcBackground", function(request, status) {
    // ... other code to setup usersQuery ...
    Parse.Cloud.useMasterKey();

    var usersQuery = new Parse.Query(Parse.User).limit(7);

    return usersQuery.each(function(user) {
            return processUser(user)
                .then(function(eBayResults) {
                    return mcComparison(user, eBayResults);
                });
        })
        .then(function() {
            // Set the job's success status
            status.success("MatchCenterBackground completed successfully.");
        }, function(error) {
            // Set the job's error status
            status.error("Got an error " + JSON.stringify(error));
        });
});