我的目标是清除解析对象上的指针列:
var query = new Parse.Query("MyClass");
query.get("myobjectid").then(function(o) {
o.pointerColumn = undefined;
return o.save();
}).then(function() {
var query2 = new Parse.Query("MyClass");
return query2.get("myobjectid");
}).then(function(o) {
alert(o.pointerColumn);
});
警报(和数据浏览器)显示列值仍然存在。我是以错误的方式解决这个问题吗?
答案 0 :(得分:6)
事实证明,Parse.Object提供了一个名为unset
的方法,以使列的值不确定。我的代码重写为工作如下:
var query = new Parse.Query("MyClass");
query.get("myobjectid").then(function(o) {
o.unset("pointerColumn");
return o.save();
}).then(function() {
var query2 = new Parse.Query("MyClass");
return query2.get("myobjectid");
}).then(function(o) {
alert(o.pointerColumn); // alerts undefined, as expected
});
答案 1 :(得分:1)
此行将属性值设置为undefined
,就像任何其他赋值运算符设置值一样。
o.pointerColumn = undefined;
而是使用delete
从o
对象中完全删除属性:
delete o.pointerColumn;
return o.save();