在Bluemix 移动数据信息中心中,我有一个包含几列的数据类:
我希望在 ID 与提供的 id 匹配时删除其中一条记录,如下所示:
function delete(request, response) {
var idToDelete = "123";
var item = request.data.Object.ofType("myClass", {"id": idToDelete});
item.del();
}
运行上一个方法后,我在日志中看到此错误:
ERR Object %o is missing field: [object Object] objectId
ERR [Q] Unhandled rejection reasons (should be empty): [ 'Error: Object is invalid for given operation\n at RestRequestError.IBMError (/home/........
........
有什么建议吗?
答案 0 :(得分:0)
您可以尝试以下方法吗?
function delete(request, response) {
var idToDelete = "123";
var item = request.data.Object.ofType("myClass", {"objectId": idToDelete});
item.del();
}
答案 1 :(得分:0)
您可以尝试使用SDK中的promise模型来确保正常运行吗?尝试将代码更改为:
var data = ibmata.getService();
data.Object.withId("<Desired_Object_ID>").then(function(item){
return item.del();
}).done(function(deleted) {
var isDeleted = deleted.isDeleted();
console.log("Object deleted? %s", isDeleted ? "yes" : "no");
}, function(err){
console.log("Error deleting object:" + err);
});
我还鼓励您通过链接您对正确的异步功能和准确性的请求来使用承诺模型的全部潜力,就像我上面所说的那样。您可以找到整个操作列表,并正确链接整个请求here。请参阅左侧菜单中Mobile Data下的Data Operations。您可以在Node.js指南,Promises。
下找到有关我们的承诺模型的更多信息