Использование $ или пункт в Pymongo
Вопрос
У меня есть эти поля в коллекции:
[{
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), все работает, как и ожидалось.
Не связан с StackOverflow