我在尝试编写beforeSave云功能时遇到问题。 这是代码:
Parse.Cloud.beforeSave
('MyCollection', function(request, response)
{
console.log("Hello from beforeSave-0");
var unitListQuery;
unitListQuery = new Parse.Query("MyCollection");
//unitListQuery.equalTo("orderKey",request.object.get("orderKey").toString());
unitListQuery.equalTo("orderKey",request.object.orderKey);
console.log("Hello from beforeSave-1");
console.log("ROG:"+request.object.get("orderKey"));
unitListQuery.find().then
(function(resUnit) {// Mark-One.
console.log("Hello from beforeSave");
console.log(resUnit);
if (resUnit.length) {
//response.error("RECORD-EXISTS");
response.success();
console.log("false-success-RECORD-EXISTS");
} else {
response.success();
console.log("success-success");
}// Mark-Two.
}, function(error) {
console.error("Did not find the thing (" + request.object.get("orderKey") + ").");
console.log("error : " + error);
//response.error(error);
response.success();
console.log("false-success");
});
});
我当前的问题是执行永远不会进入代码中找到某些内容的部分。 这是在标记为: Mark-One 和 Mark-Two 的行之间,即使我可以手动检查该记录是否存在于MyCollection中。
我在这里缺少什么?我希望有人可以指出我的错误。
有关信息,请参阅_CEMA集合中的MyCollection记录。
{
"_id": "MyCollection",
"objectId": "string",
"updatedAt": "date",
"createdAt": "date",
"orderKey": "string",
.....
"_metadata": {
"class_permissions": {
"find": {
"*": true
}
},
"indexes": {
"_id_": {
"_id": 1
}
}
}
}