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

Dav*_*vid 0 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")
Run Code Online (Sandbox Code Playgroud)

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

tes*_*est 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);

 }});
Run Code Online (Sandbox Code Playgroud)

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