我在客户端和服务器上有以下代码,但它给了我不同的结果。客户端上的代码是正确的。
代码:
var Query = Parse.Object.extend("ParseTable");
var query = new Parse.Query(query);
query.equalTo("user", {
__type: "Pointer",
className: "_User",
objectId: ID
});
query.find().then(function (object) {
//where//object = [child] = [{user: child}]
var testObject = _.map(object, function (a) {
console.log("inside testObject", a.get("user").id);
//correctly shows 'someId' on both the server and client!
return _.extend(_.find(a), {sTId: a.id}, {mId: a.get("user").id});});
//where//testObject = [{user:child, sTId: 'abc123', mId: 'someId'}];
console.log( _.first(testObject).mId);//'someId' on the client and
//'undefined' on the server});
我迷失了我的错误,除了SO社区之外我没有任何人可以提供帮助。感谢。
答案 0 :(得分:0)
上面的代码已经工作了很长时间,而且由于我不了解的原因,我无法让它工作。我决定继续使用以下解决方案来测试对象'上方。
var Query = Parse.Object.extend("ParseTable");
var query = new Parse.Query(query);
query.equalTo("user", {
__type: "Pointer",
className: "_User",
objectId: ID
});
query.first().then(function (object) {//notice first instead of find at the end of the query!
var testObject = {};
testObject.sTId = object.id;
testObject.mId = object.get("user").id;
testObject.user = object.get("user");
})
无论如何,这最终会得到一个更好的解决方案,干净整洁,更容易阅读!