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/

Responder a