我有一个包含嵌套字典的文件我保存在我的电脑上,当我需要该文件时,我使用了这行代码:
u_i = pickle.load(open("F:\\ForTestCode\\user_item_21_07.p", "rb"))
这是u_i
中的类型数据:
{"BF0E6CF26097FF44B56EBA795F25B48A" : {"557252215845" : 1.0},
"9FFA99A1374CD953A30CB1F746F11C6A" : { "978076659142" : 1.0, "622" : 1.0}
}
然后,我将嵌套字典插入MongoDB,它变成了这样:
{
"_id" : ObjectId("57971bcffefb610990cc5eaa"),
"BF0E6CF26097FF44B56EBA795F25B48A" : {
"557252215845" : 1.0
}
}
{
"_id" : ObjectId("57971bcffefb610990cc5ec6"),
"9FFA99A1374CD953A30CB1F746F11C6A" : {
"978076659142" : 1.0,
"622" : 1.0
}
}
所以,如果我需要将MongoDB中的所有文档放到上面的u_i
这样的文件中,我需要做一个这样的循环:
temp_dict = {}
documents_u_i = collection_u_i.find({})
for records in documents_u_i:
for item in records:
if item != "_id": # I dont need key and values of `_id`
temp_dict[item] = records[item]
temp_dict
将是嵌套词典,如上面的u_i
。
temp_dict = {"BF0E6CF26097FF44B56EBA795F25B48A" : {"557252215845" : 1.0},
"9FFA99A1374CD953A30CB1F746F11C6A" : { "978076659142" : 1.0, "622" : 1.0}
}
但我不想在我的数据库中使用for
循环原因有> 90.000个文件
是否有最快的方法来查询数据而不使用for
循环?
非常感谢你的帮助!