目前 MongoDB 有在 Python 上比较好的 ORM 实现么? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Livid
178.63D
593.37D
V2EX    Python

目前 MongoDB 有在 Python 上比较好的 ORM 实现么?

  •  
  •   Livid
    PRO
    2014-04-13 19:05:27 +08:00 13934 次点击
    这是一个创建于 4245 天前的主题,其中的信息可能已经有所发展或是发生改变。
    类似 Storm 或者 SQLAlchemy 那样的?
    13 条回复    2015-11-27 10:14:49 +08:00
    est
        1
    est  
       2014-04-13 19:43:37 +08:00
    pymongodb 本身已经足够简单,个人觉得不需要orm了。
    zhy0216
        2
    zhy0216  
       2014-04-13 19:45:27 +08:00
    mongoengine
    Livid
        3
    Livid  
    MOD
    OP
    PRO
       2014-04-13 19:50:43 +08:00
    @zhy0216 貌似是一个在逐渐被放弃的项目,或者,功能已经足够了?

    https://github.com/MongoEngine
    zhy0216
        4
    zhy0216  
       2014-04-13 20:02:40 +08:00
    @Livid 功能足够了, 有问题直接发issue, 作者回复很快
    oldcai
        5
    oldcai  
    PRO
       2014-04-13 22:46:05 +08:00
    没有放弃吧,看commits也很多,之前用flask的时候用过,记得用起来比较方便。

    不过还是碰到bug了,不知道怎么修好了,然后对整体代码不熟悉,提交了后没有附上单元测试,没有被合并。 ^_^
    dcoder
        6
    dcoder  
       2014-04-13 23:25:56 +08:00
    @est 用了一段时间 PyMongo, 决定直接用 Node.js 得了,MongoDB 还是直接用 JS 方便
    guoqiao
        7
    guoqiao  
       2014-04-14 05:26:38 +08:00
    用过mongoengine, 功能上各种残废, 比django自带的orm差了太多了.
    onedayoneapple
        8
    onedayoneapple  
       2014-04-14 06:28:20 +08:00 via Android
    目前也就mongoengone能用用
    superisaac
        9
    superisaac  
       2014-04-14 11:21:37 +08:00
    我写过个简单的mongodb orm叫mongopie, 求试用。主要特点是单文件,类似django orm的概念。
    https://github.com/superisaac/mongopie
    文档几乎没有
    sdjl
        10
    sdjl  
       2014-04-14 11:59:21 +08:00
    我想问MongoDB稳定么
    xiawinter
        11
    xiawinter  
       2014-04-14 12:40:45 +08:00
    @sdjl 稳定了,3年了, 除了中间升级一次,换了一下replicate 方式,我没碰过他。 以至于升级之前我差点找不到 root 密码!
    reorx
        12
    reorx  
       2014-04-14 19:25:19 +08:00
    据我所知比较成熟的有 MongoEngine ( https://github.com/MongoEngine/mongoengine ) 和 MongoKit ( https://github.com/namlook/mongokit )。

    两者的设计思想完全不同。MongoEngine 是模仿 Django ORM 关系数据库的方式用各种 Field 进行严谨的字段定义,而 MongoKit 是用一个字典约束 document 的结构。相对而言,MongoKit 更加轻量、简洁,对字段的检查和限制更加宽松,并且我个人认为对于 MongoDB 这种本身就没有强制要求存储结构的数据库,MongoEngine 的做法是有违其设计哲学的,因此更推荐 MongoKit 一些。我自己在一些项目中使用了 MongoKit,没有遇到非常坑的问题。但是它的作者对它的维护不是非常勤,两年前有一个 issue 中就提到说现在的一些写法非常不 pythonic,要发布重构的版本,但是一直没什么动静,日常小版本的更新倒还是有的。

    P.S. 后来我自己重造了一个轮子: Simplemongo ( https://github.com/reorx/simplemongo ),借鉴的是 MongoKit 的设计思想,暂时还没有文档,但在实际的大型项目中使用过,测试用例也很完整,有兴趣的可以尝试下 :)
    hhstore
        13
    hhstore  
       2015-11-27 10:14:49 +08:00
    算是挖坟吧...
    最近在用 mongodb, 对 2 个主流的 ORM 都作了测试. MongoEngine ( https://github.com/MongoEngine/mongoengine ) 和 MongoKit ( https://github.com/namlook/mongokit )。

    感觉都不太好用.
    官方文档也都看了七七八八,总有些地方,用着不舒服.
    不知道此题回复的童鞋,都在实际项目里用的什么?
    stackoverflow 上也只是推荐这 2 个 ORM,感觉有些地方还是有坑.
    难不成要用 pymongo ?

    求回复...
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5582 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 06:34 PVG 14:34 LAX 22:34 JFK 01:34
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86