Parse.com Query提供成功甚至认为返回空集

时间:2014-01-29 01:24:34

标签: javascript parse-platform

所以我正在对一个对象进行一个简单的查询,我只是想知道为什么当我在查询对象上调用.find()方法时它返回成功,即使它是一个空数组?这是我的代码示例。

var HuntObject = Parse.Object.extend("HuntObject",{
    defaults: {
        title: "hunt",
        startDate: "",
        endDate: "",
        prize: "",
        players: [],
        items: []

    }
});

var huntinfo = new Parse.Query(HuntObject);
var user = Parse.User.current().get("username");
huntinfo.notEqualTo("players" , user);
huntinfo.equalTo("title", huntItem);
huntinfo.find({
   success: function(results) {
       console.log("results")

控制台日志会给我结果= [] 我想我可以检查结果是否是一个空数组然后从那里开始,但我认为这就是使用.find的原因。任何帮助,将不胜感激。

2 个答案:

答案 0 :(得分:7)

即使检索到空集,

parse.com也不会抛出错误。

即使没有检索到任何结果,如果查找已经正确执行,查找查询将始终采用成功方法。

您可以使用错误代码检查错误。

 var GameScore = Parse.Object.extend("GameScore");
 var query = new Parse.Query(GameScore);
  query.equalTo("playerName", "Dan Stemkoski");
  query.find({
  success: function(results) {
    alert("Successfully retrieved " + results.length + " scores.");
    // Do something with the returned Parse.Object values
    for (var i = 0; i < results.length; i++) { 
     var object = results[i];
    alert(object.id + ' - ' + object.get('playerName'));
  }
},
  error: function(error) {
 alert("Error: " + error.code + " " + error.message);

 }});

因此,如果您获得一个空数组,则仅在success方法中执行所需的操作。

答案 1 :(得分:-1)

try

var HuntObject = Parse.Object.extend("_HuntObject...