Mongodb Pymongo更新/升级字典
我有一个数据字典,例如:Mongodb Pymongo更新/升级字典,mongodb,dictionary,pymongo,upsert,Mongodb,Dictionary,Pymongo,Upsert,我有一个数据字典,例如: dict = [{'name': 'test', 'domain': 'www.example.com', 'rawdata':'dbe318e7'}, {'name': 'test2', 'domain': 'www.example.com', 'rawdata':'dbe318e8'}, {'name': 'test3', 'domain': 'www.example.com', 'rawdata':'dbe318e8'}] 我想使用pymongo对mongodb
dict = [{'name': 'test', 'domain': 'www.example.com', 'rawdata':'dbe318e7'},
{'name': 'test2', 'domain': 'www.example.com', 'rawdata':'dbe318e8'},
{'name': 'test3', 'domain': 'www.example.com', 'rawdata':'dbe318e8'}]
我想使用pymongo对mongodb进行升级,其中“rawdata”应该是唯一的,我让它处理这个问题:
for x in dict:
myColl.update({'rawdata': x['rawdata']}, x, True)
但是,这是最好的方法,还是有一个更简单的upsert而不在字典上循环?没有其他方法,因为您需要对dict的每个项目使用不同的搜索条件。因此,答案是“否”-这与RDBMS的行为没有什么不同。列表理解用于过滤数据序列,但不用于搜索调用任意代码替换标准for循环。滥用Python特性!更新了我的问题esaelPsnoroMoN以使用正确的循环。