我有一些解析云代码,用于获取和更新Parse数据库中的数据。
app.get('/endpoint', function(request, response) {
var username = "name";
var something = "something";
var userFetchQuery = new Parse.Query(Parse.User);
userFetchQuery.equalTo("username", username);
userFetchQuery.first().then(function(foundUser) {
var fetchQuery = new Parse.Query("Call");
fetchQuery.equalTo("initiator", foundUser);
//fetchQuery.equalTo("status", 5);
return fetchQuery.first();
}).then(function(currentObject) {
var callObjectId = currentObject.id;
currentCall.set("something", something);
return currentCall.save();
}).then(function(success) {
response.send(ourResponse);
});
});
上面的代码工作正常,但是如果我尝试取消注释我按状态(fetchQuery.equalTo("status", 5);
)查询表的行,那么我得到500内部错误。基本上,我似乎不能用两个标准(用户和状态)进行查询。
我们不能对Parse.Query对象进行两次equalTo()
调用吗?这可能有什么问题?
========编辑1 ========
如果我按用户和状态查询,那么我没有得到任何结果。如果我只通过其中一个查询,那么我就会得到数据。所以,问题是:为什么两个equalTo()
语句导致查询失败?我100%确定我有适当的数据。
========编辑2 ========
我试图通过查询表中的任何2个字段来隔离问题。只要有两个equalTo()
语句,查询就不会返回任何内容。我已经对equalTo()
的值进行了硬编码以确保结果始终相同。 Parse.Query()对象具有多个equalTo()
会产生0个查询结果。