parse.com 如何将查询限制与每个查询一起使用

parse.com How to use query limit with query each?

本文关键字:查询 一起 com parse      更新时间:2023-09-26

我需要排序和限制我的查询,然后我需要迭代结果,但是不可能的。

Cannot iterate on a query with sort, skip, or limit.

我怎样才能制作?

这是我的查询,我想要我的发布帖子,带有标签用户并限制为 100 最后一篇文章:

var query = new Parse.Query('post');
    query.equalTo('publish', true);
    query.descending('createdAt');
    query.containedIn('tags', request.user.get('tags'));
    query.limit(100);
    query.each(function(post) {
        var postJSON = JSON.parse(JSON.stringify(post));
        var promises = [];
        var promise1 = getPseudo(post.get('author').id).then(function(user) {
                postJSON.pseudo = user.get('pseudo');
            }, function(error) {});
        var promise2 = isCertified(post.get('author').id).then(function(result) {
                postJSON.isCertified = !!result;
            }, function(error) {});
        promises.push(promise1, promise2);
        promisesAll.push(promise1, promise2);
        Parse.Promise.when(promises)
            .then(function() {
                posts.push(postJSON);
            }, function(error) {});
    }, {
        success: function() {
            Parse.Promise.when(promisesAll)
                .then(function() {
                    response.success(postsOrdered);
                });
        }
    });

您需要加载下划线,如下所示: var _ = require('underscore');

之后,您可以像这样循环每个结果:

var query = new Parse.Query('post');
    query.equalTo('publish', true);
    query.descending('createdAt');
    query.containedIn('tags', request.user.get('tags'));
    query.limit(100);
    query.find({
        success: function(posts) {
            _.each(function(post) {
                // What you want
            }
        }
    });