Parse.com JavaScript查询error handling不起作用
我正在玩parsing后端和NodeJS,但我现在有一个问题,我无法弄清楚。 我有这样的获取请求。
app.get("/movie", function (req, res) { var Review = Parse.Object.extend("Review"); var query = new Parse.Query(Review); var movie = req.query.movie; query.equalTo("movie", movie); query.first({ success: function (movie) { console.log("Success"); }, error: function (error) { console.log("Error: " + error.code + " " + error.message); } });});
这工作正常,但error handling有点不。 例如,如果我改变了
query.equalTo("movie", movie);
query.equalTo("movie", "xyz");
或query.equalTo("abc", "xyz");
这在我的表中不存在,我仍然得到成功的声明。 是的,我每次都重新启动服务器。
更新
我尝试使用iOS SDK(Swift)相同的查询,在这里我进入了错误的情况。 我总是得到相同的错误,但不应该,但至less我得到一个错误,而在JS样本,我总是进入成功案例。
我相信query.first()不会错误,如果它没有find“第一个”对象。 你可以检查(电影==空)成功返回。
更新:
试试这样写:
app.get("/movie", function (req, res) { var movie = req.query.movie; var query = new Parse.Query("Review"); query.equalTo("movie", movie); query.first().then(function (movie) { // Success console.log("Success"); }, function (error) { // Error console.log("Error: " + error.code + " " + error.message); }); });
即使你的表/集合中没有匹配数据, query.find()
总是成功我们来试试吧
query.find().then(function (movies) { if(movies.length > 0){ console.log("success"); }else{ console.log("query success but no data found"); } }, function (error) { // Error console.log("Error: " + error.code + " " + error.message); });