2017-08-06 1 views
-1

J'essaie de faire défiler un ensemble de données et de vérifier si les données existent dans mon MongoDB.Obtention de clés à partir de dict avec Python et MongoDB

J'utilise:

# Insert all venues 
for venue in tree.find('Venues').findall('Venue'): 

    # 
    venue_id = venue.find('VenueID').text 

    # Find venue 
    existing_venue = db.venues.find_one({"venue_id": venue_id}) 

    # If exists 
    if existing_venue: 

    # Update existing 
    print(existing_venue._id) 

mais je reçois l'erreur dans la ligne avec print(existing_venue._id) en disant AttributeError: 'dict' object has no attribute '_id'.

Si j'imprime simplement existing_venue (au lieu de existing_venue._id), je vois que les dictionnaires DO incluent la clé _id, donc je ne comprends pas pourquoi cela se produit.

Le même problème se produit exactement si je vérifie pour toute autre clé que je sais que j'ai inséré.

Lors de l'impression existing_venue, je reçois

{'_id': ObjectId('59875acef5ec4eb0c85c1aa0'), 'name': 'Empire State Building'} 
+1

'print (existing_venue [ 'id _'])' – Alexander

Répondre

0

Je crois que la bonne façon d'accéder à une paire clé-valeur dans un dictionnaire en python (3) est la suivante: dic [ 'key']. Peut-être que vous pouvez essayer (existing_venue [ '_ id']

pour plus d'informations sur un dictionnaire voir python. https://docs.python.org/3/tutorial/datastructures.html (5,5)