Ceci est le document que j'ai actuellement dans MongoDB.itération récursive à travers le dictionnaire python de mongo
{
"name":"food",
"core":{
"group":{
"carbs":{
"abbreviation": "Cs"
"USA":{
"breakfast":"potatoes",
"dinner":"pasta"
},
"europe":{
"breakfast":"something",
"dinner":"something big"
}
},
"abbreviation": "Ds"
"dessert":{
"USA":{
"breakfast":"potatoes and eggs",
"dinner":"pasta"
},
"europe":{
"breakfast":"something small",
"dinner":"hello"
}
},
"abbreviation": "Vs"
"veggies":{
"USA":{
"breakfast":"broccoli",
"dinner":"salad"
},
"europe":{
"breakfast":"cheese",
"dinner":"asparagus"
}
}
}
}
}
J'extraire les données de mongo avec les lignes de code suivantes.
data = collection.foodie.find({"name":"food"}, {"name":False, '_id':False})
def recursee(d):
for k, v in d.items():
if isinstance(v,dict):
print recursee(d)
else:
print "{0} : {1}".format(k,v)
Cependant, quand je lance la fonction recursee, il ne parvient pas à imprimer groupe: glucides, groupe: dessert, ou groupe: légumes. Au lieu de cela, je reçois la sortie ci-dessous. Est-ce que je saute quelque chose dans ma récurrence qui contourne l'impression du groupe et la valeur correspondante?