解析服务器:在javascript sdk中包含实时查询中的指针

时间:2017-09-02 14:39:14

标签: javascript parse-platform ionic2 parse-server

我正在使用解析服务器来查询包含指针行的类。 当我在普通查询中使用include()时,它会获取指针的所有数据,但在实时查询中我只获得objectId

代码:

var currentUser = Parse.User.current(); 
const Conversation = Parse.Object.extend("conversations");

var fromQuery = new Parse.Query(Conversation);
fromQuery.equalTo("from", currentUser );

var toQuery = new Parse.Query(Conversation);
toQuery.equalTo("to", currentUser);

var mainQuery = Parse.Query.or(fromQuery, toQuery);
mainQuery.include("to")
mainQuery.include("from")
mainQuery.include("lastMessage")
// FIXME: DEBUG:
this.convsubscription = mainQuery.subscribe();

mainQuery.find().then((conversations) => {
  for (var i = 0; i < conversations.length; i++){
   var object = conversations[i]
  this.conversations.unshift(object);
  }
})


this.convsubscription.on('update', (object) => {
  // we will get the index of updated object     
  var index = this.conversations.findIndex(x => x.id == object.id);
  console.log(index);
  // then we will remove the old object and insert the updated one
  this.conversations.splice(index, 1 ,object)

  console.log(JSON.stringify(this.conversations[index].get('lastMessage')))
})

当我执行JSON.stringify(this.conversations[index].get('lastMessage'))时,它只会提供objectId。我需要一种方法来访问指针lastMessage

的内容

此致

1 个答案:

答案 0 :(得分:0)

实时查询不支持

includeKey() / include()

  

这是服务器端问题,订阅查询时会忽略 includeKey 。在解析服务器上保存对象后,将同步处理决策树,因此我们没有机会注入包含。我们需要重构整个服务器端逻辑以支持这些逻辑。

查看相关问题以便跟踪: