现在坐在这一段时间。我有一个数据库和一本字典。 db的结构如下:
{ 'label': 'Argiope',
'uri': 'http://dbpedia.org/resource/Argiope_(spider)',
'description': 'The genus Argiope includes rather large and spectacular spiders that often ...',
'name': 'Argiope',
'synonym': ["One", "Two"],
'classification': {
'family': 'Orb-weaver spider',
'class': 'Arachnid',
'phylum': 'Arthropod',
'order': 'Spider',
'kingdom': 'Animal',
'genus': None
}
}
现在我想做的是,通过在分类字段中创建一个新条目来更新数据库。关键是始终是相同的“二项式权威”和价值,我的dict的价值。但我只想更新标签等于我的键的数据集(所以我只是更新正确的)
我开始时:
def update_db(data, db):
for key in data:
db.arachnid.update({$set:{"classifaction".key:data[key]}})
pass
但这不起作用,但仍然缺少条件。任何人都知道该怎么做?
答案 0 :(得分:1)
如果我正确理解您的问题,您的更新应该类似于:
db.arachnid.update({'label': 'binomialAuthority'}, {'$set': dict([('classification.' + key, value) for key, value in data.items()])}, multi=True)
修改的
再次阅读你的问题,也许你正在寻找的是:
for key, value in data.items():
db.arachnid.update({'label': key}, {'$set': {'classification.' + key: value}})