为什么CouchDb python(或者我)会混淆字符串和字典?
我正在尝试使用用于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
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,它应该可以工作