0

我有以下文件

{
  "_id": "9036472948305957379",
  "_rev":"162de87a696361533791aa7",
  "firstname":"xyz",
  "lastname": "abc"
}

现在我想将以上剂量更新为以下

   {
     "_id": "9036472948305957379",
     "_rev":"162de87a696361533791aa7",
     "name":"xyz abc"
  }

如果我这样做 doc['name'] = "xyz abc" 它不会删除名字和姓氏属性。我该如何实现?

4

1 回答 1

1

在将文档保存回数据库之前,您需要从文档的本地副本中显式删除firstname和属性。lastname

如果我正确理解了您的问题,那么当您启动更新操作时,您当前正在将以下文档正文(隐式或显式)发送到数据库:

{
 "_id": "9036472948305957379",
 "_rev":"162de87a696361533791aa7",
 "firstname":"xyz",
 "lastname": "abc",
 "name":"xyz abc"
}

但是,您的有效负载需要如下所示:

{
 "_id": "9036472948305957379",
 "_rev":"162de87a696361533791aa7",
 "name":"xyz abc"
}

如果您正在使用该python-cloudant库,请查看http://python-cloudant.readthedocs.io/en/latest/document.htmlfield_set上的方法:

静态字段集(文档、字段、值)

设置或替换本地缓存的 Document 对象中字段的值。要删除该字段,请将值设置为 None。

于 2017-06-12T21:57:13.437 回答