从Parse.com

时间:2016-03-14 11:11:54

标签: javascript parse-platform

我在我正在构建的网站中的Parse.com Javascript SDK中有这个简单的例子。

课程如下

_用户结构:

  • 的ObjectID
  • 用户名
  • 密码
  • name - string

帖子结构:

  • 的ObjectID

  • postName - string

  • postMsg - string

  • postAuthor - Pointer< _用户> (指向用户类的指针)

评论结构:

  • 的ObjectID

  • msg - string

  • post - Pointer<帖子> (指向职位类的指针)

  • 用户 - 指针< _用户> (指向用户类的指针)

我将此查询发送到评论类,以获取所有评论以及作者姓名和其他一些内容。

var Comments= Parse.Object.extend("Comments");
var query = new Parse.Query(Comments);
/*Get the Post's Info*/
query.include("post");
/*Get the Post Author's Info*/
query.include("post.postAuthor");
/*Get the Comment's Author Info*/
query.include("user");
query.find().then(function(results){
    /* Go Through Each Comment*/
    var commentsArray = new Array();
    for(i in results){
        /* Set obj to current comment*/
        var obj = results[i];
        /* Get Post's Name */
        var postName = obj.get("post").get("postName");
        /* Get Post's Message */
        var postMsg = obj.get("post").get("postMsg");
        /* Get Post Author's Name */
        var authorName = obj.get("post").get("postAuthor").get("name");
        /* Get Comment's Message */
        var commentMsg = obj.get("msg");
        /* Get Comment's Author*/
        var commentAuthor = obj.get("user").get("name");

        /* Let's Put the Comment Information in an Array as an Object*/
        commentsArray.push({
            post:{
                name: postName,
                msg: postMsg
            },
            author: authorName,
            comment: {
                author: commentAuthor,
                msg: commentMsg
            }
        });
    }
})

所以我的问题是,在这个查询中,如何使结果的顺序由POSTS类中的“createdAt”降序,而不是主查询的“注释类”?

有没有办法做到这一点? 像

这样的东西
query.descending("post.createdAt");

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

修改:只需使用array.sort

对结果进行排序
results = result.sort(function (a, b){
    // decide with result is greater
    // return + for stay for a > b
    // return negative for b > a
})

旧答案: 取自https://www.parse.com/docs/js/api/classes/Parse.Query.html

Parse.Query addDescending(key) 按给定键按降序对结果进行排序,但也可以添加辅助排序描述符而不覆盖_order。

参数: key<(String | String | ... String> order by的键,一串逗号分隔值,一个键数组或多个键。

返回: 返回查询,因此您可以链接此调用。

Parse.Query降序(键) 按给定键按降序对结果进行排序。

参数: key<(String | String | ... String> order by的键,一串逗号分隔值,一个键数组或多个键。

返回: 返回查询,因此您可以链接此调用。

query.include("post.createdAt")
query.descending("post.createdAt")