所以我对一个对象做了一个简单的查询,我只是想知道为什么当我在查询对象上调用 .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")
控制台日志会给我结果 = [] 我想我可以检查 results 是否是一个空数组,然后从那里开始,但我认为这就是使用 .find 的目的。任何帮助,将不胜感激。
最佳答案
即使检索到空集,parse.com 也不会抛出错误。
如果执行正确,即使没有检索到结果,查找查询也将始终进入 success 方法。
您可以使用错误代码检查错误。
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 方法中执行所需的操作。
关于javascript - 即使返回空集,Parse.com 查询也会成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21420328/