Javascript 从解析查询获取指针数据

Javascript 从解析查询获取指针数据,javascript,parse-platform,Javascript,Parse Platform,我试图通过JavaScript SDK查询Parse.com数据库中的数据,但指针中的数据无法通过 在我的Parse DB中有三个相关的类:问题、对话和用户。 问题类有指针列(“提问”和“谈话”),指向提问用户和问题提交到的谈话 代码如下所示: <script type="text/javascript"> Parse.initialize("PARSE APP ID", "PARSE JS KEY"); var Questions = Parse.Object.exten

我试图通过JavaScript SDK查询Parse.com数据库中的数据,但指针中的数据无法通过

在我的Parse DB中有三个相关的类:问题、对话和用户。 问题类有指针列(“提问”和“谈话”),指向提问用户和问题提交到的谈话

代码如下所示:

 <script type="text/javascript">
  Parse.initialize("PARSE APP ID", "PARSE JS KEY");
  var Questions = Parse.Object.extend("Questions");

    function getPosts(){
      var query = new Parse.Query(Questions);
                query.equalTo("active", true);
                query.descending("CreatedAt");
                query.find({

        success: function (results){
          var output = "";
            for (var i in results){
                var talk = results[i].get("talk");
                var question = results[i].get("question");
                var questioning = results[i].get("questioning");
                var talk = results[i].get("talk");
                output += "<li>";
                output += "<h3>"+question+"</h3>";
                output += "<p>"+questioning+"</p>";
                output += "<p>"+talk+"</p>";
                output += "</li>";
            }
            $("#list-posts").html(output);
        }, error: function (error){
            console.log("Query Error:"+error.message);
        }
      });
    }


    getPosts();

初始化(“解析应用程序ID”,“解析JS键”);
var Questions=Parse.Object.extend(“问题”);
函数getPosts(){
var query=newparse.query(问题);
query.equalTo(“活动”,true);
query.descending(“CreatedAt”);
查询.查找({
成功:功能(结果){
var输出=”;
对于(结果中的var i){
var talk=结果[i]。获取(“talk”);
var-question=results[i].get(“问题”);
var提问=结果[i]。获取(“提问”);
var talk=结果[i]。获取(“talk”);
输出+=“
  • ”; 输出+=“”+问题+“”; 输出+=“”+提问+“

    ”; 输出+=”“+talk+”

    ”; 输出+=“
  • ”; } $(“#列出帖子”).html(输出); },错误:函数(错误){ log(“查询错误:+错误消息”); } }); } getPosts();

    输出如下所示:

     <script type="text/javascript">
      Parse.initialize("PARSE APP ID", "PARSE JS KEY");
      var Questions = Parse.Object.extend("Questions");
    
        function getPosts(){
          var query = new Parse.Query(Questions);
                    query.equalTo("active", true);
                    query.descending("CreatedAt");
                    query.find({
    
            success: function (results){
              var output = "";
                for (var i in results){
                    var talk = results[i].get("talk");
                    var question = results[i].get("question");
                    var questioning = results[i].get("questioning");
                    var talk = results[i].get("talk");
                    output += "<li>";
                    output += "<h3>"+question+"</h3>";
                    output += "<p>"+questioning+"</p>";
                    output += "<p>"+talk+"</p>";
                    output += "</li>";
                }
                $("#list-posts").html(output);
            }, error: function (error){
                console.log("Query Error:"+error.message);
            }
          });
        }
    
    
        getPosts();
    
    试题1

    [对象]

    [对象]

    问题本身是正确的(测试问题1),但它显示的不是用户(或用户id)而是[object]。谈话也是这样。知道如何检索和显示这些信息吗


    谢谢

    很高兴找到一个组织良好的问题,包括数据模型的细节。它也有一个简单的答案:要访问指向的对象,必须告诉查询包含它们。所以,这个建议,还有代码中的几点:

    // see point below about for..in array iteration
    // strongly suggest underscorejs, that has loads of other features
    var _ = require('underscore');
    
    function getPosts(){
        var query = new Parse.Query(Questions);
        query.equalTo("active", true);
    
        // order by creation is default, and createdAt is spelled with a lowercase 'c'
        //query.descending("CreatedAt");
    
        // these will fix the problem in the OP
        query.include("questioning");
        query.include("talk");
    
        // its a good habit to start using the promise-returning
        // varieties of these functions
        return query.find();
    }
    
    function updatePostList() {
        getPosts().then(function (results) {
            var output = "";
            // most authors recommend against for..in on an array
            // also, your use of var i as the index into results is incorrect
            // for (var i in results){  <-- change this to use _.each
            _.each(results, function(result) {
                var talk = result.get("talk");
                var question = result.get("question");
                var questioning = result.get("questioning");
                output += "<li>";
                output += "<h3>"+question+"</h3>";
                output += "<p>"+questioning+"</p>";
                output += "<p>"+talk+"</p>";
                output += "</li>";
            });
    
            // a good example of the value of underscore, you could shorten
            // the loop above by using _.reduce
    
            $("#list-posts").html(output);
        }, function (error) {
            console.log("Query Error:"+error.message);
        });
    }
    
    //有关数组迭代中的..,请参见下面的一点
    //强烈建议使用带有大量其他功能的下划线
    var=require('下划线');
    函数getPosts(){
    var query=newparse.query(问题);
    query.equalTo(“活动”,true);
    //按创建顺序是默认的,createdAt用小写字母“c”拼写
    //query.descending(“CreatedAt”);
    //这些将解决OP中的问题
    质询。包括(“质询”);
    询问。包括(“谈话”);
    //开始使用承诺是一个好习惯
    //这些功能的种类
    返回query.find();
    }
    函数updatePostList(){
    getPosts().then(函数(结果){
    var输出=”;
    //大多数作者建议在数组中不使用for..in
    //此外,您使用VarI作为结果的索引是不正确的
    //对于(结果中的VARI){
    console.log('question',question);