0

我正在尝试使用 samharnack 的 ember-model-parse-adapter与 Parse.com 一起使用 Ember 。

我添加了一个函数来进行多个工作搜索(如搜索引擎),我已经使用 Parse.Cloud.define 在云上定义了一个函数并从客户端运行。问题是我的云响应返回的数组与 Ember 模型不兼容,因为它们是 __type 和 className 两个属性。如何修改响应以获得类似于从客户端运行查找查询时得到的响应。即没有 __type 和 className

App.List.find() 的示例响应 ={ "results":[ { "text":"zzz", "words":[ "zzz" ], "createdAt":"2013-06-25T16:19:04.120Z", "updatedAt":"2013-06-25T16:19:04.120Z", "objectId":"L1X55krC8x" } ] }

对于 App.List.cloudFunction("sliptSearch",{"text" : this.get("searchText")})

{
   "results":[
      {
         "text":"zzz",
         "words":[
            "zzz"
         ],
         "createdAt":"2013-06-25T16:19:04.120Z",
         "updatedAt":"2013-06-25T16:19:04.120Z",
         "objectId":"L1X55krC8x",
         "__type" : Object,             //undesired
         "className" : "Lists"          //undesired

      }
   ]
}
4

2 回答 2

2

谢谢弗拉德这样的事情对我有用

resultobj = []; 

searchListQuery.find({
     success: function(results) {
         for( var i=0, l=results.length; i<l; i++ ) {
             temp = results.pop();
                    resultobj.push({
                         text: temp.get("text"),
                         createdAt: temp.createdAt,
                         updatedAt: temp.updatedAt,
                         objectId: temp.id,
                         words: "",
                         hashtags: ""
                    });
                }
于 2013-07-30T15:44:58.687 回答
0

在您做出任何响应之前,在您的云代码中创建对象并从中提取您需要的属性/成员,然后对其进行响应。像这样:

//lets say result is some Parse.User or any other Parse.Object
function(result)
{
   var responseObj = {};
   responseObj.name =  responseObj.get("name");
   responseObj.age =  responseObj.get("age");
   responseObj.id =  responseObj.id;

   response.success(responseObj);
}

在响应方面,您将得到{"result": {"name": "jhon", "age": "26", "id": "zxc123s21"}}

希望这会对你有所帮助

于 2013-07-29T20:17:15.510 回答