Pregunta

Tengo estos campos en una colección:

[{
     u'_id': ObjectId('4d1f7b4d5d256b18c8000000'),
     u'name': u'1'
 },{
     u'_id': ObjectId('4d1f7b505d256b18c8000001'),
     u'name': u'2'
 },{
     u'_id': ObjectId('4d1f7b525d256b18c8000002'),
     u'name': u'3'
 }]

A continuación hago una consulta como la siguiente:

 [x for x in c.things.find( {'$or' : [{'name':'1'}, {'name':'2'}] } )]

y espero obtener:

[{
    u'_id': ObjectId('4d1f7b4d5d256b18c8000000'),
    u'name': u'1'
}, {
    u'_id': ObjectId('4d1f7b505d256b18c8000001'),
    u'name': u'2'
}]

Por desgracia, no. ¿Qué estoy haciendo mal?

¿Fue útil?

Solución

Yo estaba usando mongodb desde el repositorio de Ubuntu, que es mayor que 1.5.3 (La documentación de mongodb dice que $ o está disponible desde 1.5.3). Después de cambiar a la última versión (1.6.5) todo está funcionando como se esperaba.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top