从cloudant中的持久化json对象中删除属性

从cloudant中的持久化json对象中删除属性,json,couchdb,cloudant,Json,Couchdb,Cloudant,我在删除以前保存在cloudant数据库文档中的属性时遇到问题。似乎我应该在它上面保存一个新的版本,没有那个属性。我有下面的代码,它可以工作,保存对象,我得到一个新的版本。但statistics属性仍在持久化文档上 如何删除持久化属性 // mixStatistics don't get persisted on the mix, so remove property as it goes through // the save let saveMixStatistic = mix.statis

我在删除以前保存在cloudant数据库文档中的属性时遇到问题。似乎我应该在它上面保存一个新的版本,没有那个属性。我有下面的代码,它可以工作,保存对象,我得到一个新的版本。但statistics属性仍在持久化文档上

如何删除持久化属性

// mixStatistics don't get persisted on the mix, so remove property as it goes through
// the save
let saveMixStatistic = mix.statistics;
delete mix.statistics ;
// -------------------------

this.userDb.put(mix).then(function (response) {
  // handle response
  console.log("mix saved");
  mix._rev = response.rev;

}).catch(function (err) {
  console.log(err);
});

// put mixStatistics back after the save
mix.statistics = saveMixStatistic;
您可能会过早地将mix.statistics放回。在这种情况下,它很可能在PUT发出HTTP请求之前被重新添加。您应该在PUT完成后尝试重置它。例如:

let saveMixStatistic = mix.statistics;
delete mix.statistics ;

this.userDb.put(mix).then(function (response) {
  // handle response
  console.log("mix saved");
  mix._rev = response.rev;

  // put mixStatistics back after successful save
  mix.statistics = saveMixStatistic;

}).catch(function (err) {
  console.log(err);

  // put mixStatistics back after failed save
  mix.statistics = saveMixStatistic;
});

请确认统计数据是您的财产或生成Cloudant?的东西。统计数据是我的财产。它不应与文档一起保存。在开发的早期,它得到了保存。现在,我认为我应该在没有.statistics属性的情况下保存它,但这不起作用。您是否检查了与userDb.put方法调用关联的HTTP请求和响应信息?你能提供关于这个方法的细节吗?明白了,我喜欢。