解析 - 查询createdAt列没有结果

时间:2014-08-02 20:12:49

标签: android parse-platform

我正在尝试查询我的parse类中的“createdAt”列,以获取在特定日期之后创建的解析对象的数量。为此,我创建了一个7天前的日期,并将其作为参数发送到解析云函数:

public void getAdsFromServer() {
    HashMap<String, Object> params = new HashMap<String, Object>();
    SimpleDateFormat sdf = new SimpleDateFormat(
            "EEE MMM dd HH:mm:ss zzz yyyy");
    Calendar cal = Calendar.getInstance();
    cal.add(Calendar.DATE, -7);
    Log.i(LOG, "date before 7 days = " + sdf.format(cal.getTime()));
    params.put("createdAt", sdf.format(cal.getTime()));
    ParseCloud.callFunctionInBackground("getNumOfAds", params,
            new FunctionCallback<Integer>() {
                public void done(Integer result, ParseException e) {
                    if (e == null) {
                        Log.i(LOG, "SUCCESS:: " + result.toString());
                    } else {
                        Log.i(LOG, "failure");
                    }
                }
            });
}

以下是我的Parse云代码:

Parse.Cloud.define("getNumOfAds", function(request, response) {
   var query = new Parse.Query("Ad");
   query.greaterThan("createdAt", request.params.createdAt);
   query.find({
     success: function(results) {
       response.success(results.length);
     },
     error: function() {
       response.error("ad lookup failed");
     }
   });
});

虽然Parse上的“Ad”类填充了比此日期更新的15条记录,但Log.i(LOG, "SUCCESS:: " + result.toString());打印出“SUCCESS :: 0”。 我想我的日期格式错误,但我的所有网络搜索都显示这是解析日期格式。

即使记录:

final ParseObject ad = new ParseObject("Ad");
Log.i(LOG, "Parse object created at: " + ad.getCreatedAt());

我得到这种格式。

感谢您的帮助,以找出我的代码中的错误。

谢谢!

0 个答案:

没有答案