2015-11-21 4 views
1

Я пытаюсь получить всех пользователей, которые следуют за текущим пользователем. С какой-то причине Анализировать возвращает имя пользователя, как не определено в «на» поле, но я могу получить имя пользователя из «из» поля, как так:Javascript/Parse: Follow wont return 'to' value

var query = new Parse.Query("Follow"); 
    query.equalTo("to", Parse.User.current()); 
    query.find({ 
     success: function(users){ 
      for (var i = 0; i < users.length; i++) { 
       console.log(users[i].get('from').get('username')) // returns current username 
       console.log(users[i].get('to').get('username'))/returns undefined 
      } 
     } 
    }); 

Но эти ценности действительно существуют, и есть имя пользователя , Я могу получить значение с помощью метода выборки, но мне любопытно, почему этот подход не работает. Мысли?

+0

Возможно, вы сначала попробуете log 'users [i] .get ('to')', чтобы увидеть, какая структура это. – fuyushimoya

+0

Это возвращает пользователя: 't {_objCount: 11, className: "_User", id: "imnmEPzkS2"}', но если я сделаю это еще на один шаг и скажу пользователям [i] .get ('to'). Атрибуты возвращают undefined – user3612986

+0

https://parse.com/docs/js/guide#objects-one-to-one-and-one-to-many-relationships – fuyushimoya

ответ

1

От Doc, вы не получаете реальный объект, но ссылка на этот объект:

Внутри рамки Анализировать будет хранить упомянутое-объекта в одном месте, чтобы поддерживать согласованность. ......

И

По умолчанию при извлечении объекта, связанные Parse.Objects не неправдоподобным. Значения этих объектов не могут быть восстановлены, пока они не было принесли так:

// Here, post is something similar to your `users[i].get('to')` 
var post = fetchedComment.get("parent"); 

// So you need to fetch it again to get its real object. 
post.fetch({ 
    success: function(post) { 
     var title = post.get("title"); 
    } 
}); 

Так что вы получаете от users[i].get('to') является ссылкой на этот объект пользователя. Вы можете получить его снова.