Question

Je ces champs dans une collection:

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

Alors je fais une requête comme ceci:

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

et je vous attendre à obtenir:

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

Malheureusement, non. Qu'est-ce que je fais mal?

Était-ce utile?

La solution

J'utilisait mongodb du dépôt ubuntu qui est plus ancienne que 1.5.3 (La documentation de MongoDB dit que $ ou est disponible à partir de 1.5.3). Après avoir changé à la dernière version (1.6.5) tout fonctionne comme prévu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top