0

根據以下this指南,我已經在AWS Elastic Beanstalk上設置了Parse-Server。然後我寫了一個雲代碼函數,它從特定的類/集合中獲取單個記錄。該集合包含約20列。但是,作爲查詢結果提取的對象只包含大約8列。我已確保該記錄確實在查詢中遺漏了列中的數據。我在這裏丟失了些什麼,或者在Parse中有一些限制嗎?有沒有辦法強制Parse獲取這些列?解析服務器雲代碼查詢不會返回所有列

Parse.Cloud.define('confirmAppointment', function(request, response) { 
    var staffId = request.params.staffId; 
    var appointmentId = request.params.appointmentId; 

    var appointmentRequest = Parse.Object.extend("AppointmentRequest"); 
    appointmentRequest.id = appointmentId; 
    appointmentRequest.staffId = staffId; 

    var query = new Parse.Query(appointmentRequest); 

    query.first({ 
     useMasterKey: true, 
     success: function(appointment) { 
      if (appointment) { 

       // these fields are not found in the fetched appointment object 
       // they do exist however in mongodb 
       var requesterUserId = appointment.get("requesterUserId"); 
       var staffUserId = appointment.get("staffUserId"); 
       var staffName = appointment.get("staffNameEn"); 
       ... 
      } 
     } 
     ... 
    }); 
}); 
+0

其他對象是否缺少列指針類型? – kRiZ

+0

不是。其中一些是字符串類型,一些是數字類型。 –

回答

0

有可能是在你的代碼(查詢部分的建設)的一些錯別字。試試這個:

Parse.Cloud.define('confirmAppointment', function(req, res) { 
    var staffId = req.params.staffId; 
    var appointmentId = req.params.appointmentId; 

    var query = new Parse.Query("AppointmentRequest"); 
    query.equalTo('objectId', appointmentId); 
    query.equalTo('staffId', staffId); 

    query.first({ 
    useMasterKey: true, 
    success: function(appointment) { 
     res.success(appointment.get("requesterUserId")); 
    }, 
    error: function(err) { 
     res.error(err); 
    } 
    }); 
}); 
+0

謝謝西蒙,查詢的確有一些錯別字,我後來修正了。但真正的問題是我沒有點擊Parse數據庫遷移向導中的Finalize按鈕。 –

0

問題竟然是,當我的確從解析數據遷移到我mongolab託管的MongoDB實例,我沒點擊「終結」在解析遷移向導按鈕。這是故意的,因爲Parse警告我單擊Finalize會使遷移成爲永久性的,我將不能再回到Parse管理的數據庫。在另一方面,我可以看到,所有的數據successfuly遷移到mongolab,並在技術上應該已經足夠讓我的AWS沒有任何問題託管這個新的數據庫服務器解析工作。但不知何故,點擊Parse中的「Finalize」按鈕做了一些魔術(我仍然不明白它會是什麼),我的查詢開始返回預期的結果。

我能遷移到的Heroku以及何時重現同樣的問題,所以我確信這一點關係都沒有與AWS。

希望這可以幫助別人。

相關問題