Ответ 1
Я использовал mongodb из репозитория ubuntu, который старше 1.5.3 (документация mongodb говорит, что $или доступна из 1.5.3). После того, как я перешел к последней версии (1.6.5), все работает как ожидалось.
У меня есть эти поля в коллекции:
[{
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), все работает как ожидалось.