Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.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
Mongodb Pymongo更新/升级字典_Mongodb_Dictionary_Pymongo_Upsert - Fatal编程技术网

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以使用正确的循环。