有一种方法可以在NodeJS中使用mongoose定义MongoDB集合模式。猫鼬在运行查询时验证架构。
我一直无法在Python/Tornado中找到类似的东西。有没有办法在 Motor 中实现类似的效果,或者是否有一个包可以为我做到这一点?
没有。Motor是一个MongoDB驱动程序,它执行基本操作,但没有提供很多便利。像MongoTor这样的对象文档映射器(ODM)库,建立在Motor上,提供了更高级别的功能,如模式验证。
我不为MongoTor担保。请谨慎操作。考虑一下你是否真的需要一个ODM:mongodb的原始数据格式足够接近Python类型,以至于大多数应用程序不需要在其代码和驱动程序之间有一个层。
目前(2019年)这个项目Umongo https://github.com/Scille/umongo 如果您需要同步/异步Python MongoDB ODM,则似乎更加活跃和有用。它适用于多个驱动程序,如PyMongo或Motor进行异步。文档在这里: http://umongo.readthedocs.io
您也可以使用 ODMantic,因为它具有最好的文档并且引擎支持电机客户端。
目前(2023 年),Beanie [Github 链接] 是我用过的最好的 ODM。它与FASTAPI完美配合,并与Pydantic深度集成,使得对数据模型进行建模变得非常容易。
他们在这里给出了一个非常好的文档