2015-10-22 3 views
1

У меня есть следующий код на клиенте и на сервере, но он дает мне разные результаты. Код на клиенте правильный.Node.js клиент против сервера - тот же код разные результаты

Код:

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, чтобы помочь. Благодарю.

+2

Каковы различные результаты и как мы можем проверить это самостоятельно? – Marged

+0

@Marged Я не знаю, как я могу помочь вам протестировать его, извините. Этот код работал до этого и сейчас просто ломается в тестировании. Я пытаюсь понять, что может быть неправильным, но моя ставка заключается в том, что это нечто особенное, и именно поэтому я обращаюсь к сообществу. Может быть, предложение кого-то, кто видел что-то подобное в прошлом? Может ли это иметь какое-то отношение к настройкам безопасности Parse.com? – rashadb

+1

Все, что мы просим, ​​это некоторые тестовые данные, потому что не каждый сможет рассказать вам о проблеме только при просмотре кода: http://stackoverflow.com/help/mcve – Marged

ответ

0

Код, указанный выше, работает долгое время и по независящим от меня причинам, я не могу заставить его работать. Я решил двигаться дальше, используя приведенное выше решение для testObject.

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"); 
}) 

В любом случае это лучшее решение, приятное и чистое чтение!