Форум сайта python.su
Не подскажете существует ORM для pymongo?
Желательно чтобы поля остались видимы для mongo.
Используется что-нибудь из
MongoKit MongoEngine Minimongo Ming?
Офлайн
Пробовал - не понравилось, по мне “чистый” pymongo/asyncmongo лучше.
Особенно в высоко-нагруженных проектах, где “каждый” запрос будет оптимизироваться, orm будет только мешать.
А в последнем проекте, у меня на сервере нет почти никакой логики - просто передача данных от монги клиенту ( + проверка на доступ). вся логика у клиента: подгрузка, связывание, создание новых типов объектов…
Тут orm особо и не нужен.
Офлайн
Спасибо за совет. Я документацию всю прочитал тоже не понравилось. Привнесение валидаторов - просто еще один из множества способов поддержки целостности данных, а цена геморрой с модификацией схемы, как раз потеря того что было самого ценного в mongo. Но программирование под zodb и mongo тогда сильно различаются.
В zodb не теряется информация о типе объекта который в базе хранится, а в mongo теряется.
Офлайн
> В zodb не теряется информация о типе объекта который в базе хранится, а в mongo теряется.
Можно объекты определенного вида хранить в своих коллекциях. Ну или каждый объект можно подписать.
Офлайн
Да конечно, решения есть. В этом смысле Mongo предоставляет больше возможностей для настройки. В Zodb не избавишся от меток типов в объектах которые в базе лежат. а тут хочешь есть хочешь нет…
Еще раз спасибо за уделенное внимание.
Офлайн
Возможно это не совсем то, что Вы ищете, но есть такой продукт Colander - http://docs.pylonsproject.org/projects/colander/en/latest/
Им вы можете замаппить ответы от pymongo и провести валидацию. С ним так же можно использовать deform для построения форм (при необходимости).
Офлайн
Большое спасибо, посмотрю.
По моим сообщениям думаю трудно понять что я ищу. В основном работаю с потоками данных с аппаратуры. SQL практически не нужен транзакции тоже потеря части пакетов тоже они и сами иногда теряются. Но данные достаточно сложные. А после обработки становятся еще сложнее. Поскольку много пишу на C++ привык работать с объектами - чтобы были и методы и полиморфизм.
Вот и смотрю как с ними сподручнее справляться.
Отредактировано (Янв. 10, 2012 21:25:05)
Офлайн