【发布时间】:2017-04-27 21:55:20
【问题描述】:
我有以下形式的文件:
{"hostname": "myhost1.com", "services": { ... } }
我想做的是:
dataset = requests.get('http://endpoint.com/hardware.json').json()
for hostname, services in dataset[0].items():
db.titleHardware.update_one({'hostname':hostname},
{services.keys()[0]: services.values()[0]},
True) #upsert
但是,我收到以下错误:
ValueError:更新仅适用于 $ 运算符
有没有办法完成整个"services" 块的更新,基于"hostname" 键(如果hostname 不存在,最终插入一个新文档)?我知道我可以编写逻辑来比较我的 MongoDB 中的内容与我尝试更新/插入的内容,但我希望 pymongo 中可能已经有一些东西或者我可以使用的东西。
【问题讨论】:
标签: python mongodb python-2.7 pymongo