tenés que pasarle "true" cómo cuarto parámetro del update. el tercer parámetro si lo pasas como "true", entonces si no existe ese registro en la colección, lo crea.
http://docs.mongodb.org/manual/reference/method/db.collection.update/ El 1 de noviembre de 2013 16:44, Jorge <shephir...@hotmail.com> escribió: > Buenas. > > Soy nuevo en este de mongodb (base de datos no relacional) y no se si lo > que > intento es imposible o simplemente lo estoy haciendo mal. > > A la hora de crear la estructura de mis documentos estoy utilizando listas > de diccionarios. A la hora de introducir datos no hay problema, para buscar > datos estoy utilizando mapreduces...pero para modificar datos me he > encontrado con un gran problema, y es que solo modifica el primer valor > valor de la lista que cumple con las condiciones. Hay algun modo de que si > mas de un valor de la lista cumple con las condiciones del find lo > modifique??? > > Mi estructura: > [{"datos":"datos",.... > "mi_lista": [ > {"id":1, "otro_id":3, "value":10}, > {"id":2, "otro_id":3, "value":3}] > }] > > Mi consulta: > mongodb["proyecto"]["coleccion"].update( > {"mi_lista.otro_id":3}, > {"mi_lista.$.value":7} > ) > > Esta funcion solo modifica la primera ocurrencia de la lista en cada > documento. Hay alguna manera para que modifique todos los diccionarios que > cumplan con la condicion impuesta?? > > GRACIAS > > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ >
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/