Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么CouchDb python(或者我)会混淆字符串和字典?_Python_Couchdb_Couchdb Python - Fatal编程技术网

为什么CouchDb python(或者我)会混淆字符串和字典?

为什么CouchDb python(或者我)会混淆字符串和字典?,python,couchdb,couchdb-python,Python,Couchdb,Couchdb Python,我正在尝试使用用于CouchDB的Python包装器来更新数据库。该文件的结构为嵌套字典,如下所示 doc = { ..., 'RLSoo': {'RT_freq': 2, 'tweet': "They're going to play monopoly now. This makes me feel like an excellent mother. #Sandy #NYC"}, 'GiltCityNYC': {}, ....} 我想把较大的dictionar

我正在尝试使用用于CouchDB的Python包装器来更新数据库。该文件的结构为嵌套字典,如下所示

doc = { ...,
   'RLSoo': {'RT_freq': 2, 'tweet': "They're going to play monopoly now. 
     This makes me feel like an excellent mother. #Sandy #NYC"}, 
    'GiltCityNYC': {},
  ....}
我想把较大的dictionary的每个条目,例如
RLSoo
放入它自己的文档中。但是,当我尝试以下代码时,会收到一条错误消息

 for key in doc:
      db.update(doc[key],all_or_nothing=True)
错误消息

TypeError: expected dict, got <type 'str'>
TypeError:预期的dict,已获取
我不明白为什么CouchDB不接受这本词典

根据方法实现和他的文档,第一个参数应该是文档对象列表(例如dict列表)。由于您的
doc
变量具有dict类型,因此对它的直接迭代实际上会对其所有字符串类型的键进行迭代。如果我正确理解您的案例,那么您的
文档可能包含嵌套文档。所以,试着:

db.update(doc.values(), all_or_nothing=True)
所有的一级值都是dicts,它应该可以工作