Вопрос

У меня есть эти поля в коллекции:

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

Тогда я делаю запрос таким:

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

И я ожидаю получить:

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

К сожалению нет. Что я делаю не так?

Это было полезно?

Решение

Я использовал MongoDB из репозитория Ubuntu, который старше 1,5,3 (документация MongoDB говорит, что $ или доступна с 1.5.3). После того, как я перешел на последний выпуск (1.6.5), все работает, как и ожидалось.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top