2011-09-08 7 views
0

J'utilise MongoDB 1.8 avec Python 2.6 et que vous voulez modifier une « valeur » ... dynamique ...MongoDB FindAndModify - données de mise à jour

en référence à ce lien mongodb FindAndModify - update data la solution ne fonctionne pas pour moi.

Voici la ligne de mon script python à insérer dans les collections MongoDb.

basic = {'state' : state, 'district' : district,'Dcode' : Dcode, 'tbu' : tbu,'tbucode' : tbucode, 'ptbn' : ptbn 
       } 

Ceci est la sortie MongoDb.

{ "_id": ObjectId ("4e677efce88c7f0718000000"), "le Groupe d'étude": "indl000000001", "tbucode": "5649", "quartier": "ouest", "Dcode": « 110048 », « TBU »: « super clinique », « Etat »: « delhi »}

donc, l'exigence est ... Si certains utilisateur entre une nouvelle valeur dans un formulaire Web ou une interface graphique, et veut changer N'IMPORTE QUELLE valeur OU une seule valeur SANS chaque fois à partir du terminal de commande MongoDB ... comment la valeur sera-t-elle changée dans la Collection/document?

db.tc_basic.update ({ '_ id': ObjectId ("...")}, { '$ set': { 'state': 'goa', 'district': 'nord' }})

Ci-dessus me demande de le faire manuellement ... J'ai besoin de le faire dynamiquement .... par le script python.

Comme je ne connaîtrai pas l'ObjectID dans chaque DB installé sur différents ordinateurs.

Merci

Répondre

0

Eh bien, si c'est un nouvel objet, vous devez insert.

Si l'objet existe déjà et que l'utilisateur le modifie, vous avez déjà récupéré le ou les objets de la collection afin de connaître leur ObjectId. Placez-le dans le formulaire HTML en tant que champ caché afin que vous sachiez quel objet mettre à jour.