我一直在使用 motor https://motor.readthedocs.io/en/stable/ 作为 fastapi 应用程序中的驱动程序来处理异步数据库调用。但随着规模的扩大,我需要 mongodb 中适当的 ODM 支持。我已经了解了多种可用的 ODM 选项,例如无檐小便帽、发动机等。其中一些看起来并不成熟(小分叉和贡献者)。我并不是说该项目不受欢迎,没有用,但由于我在生产中使用它,因此我需要一些具体且稳定的 ODM。你们用什么来达到这样的目的,请建议我是否也有任何自定义方法。谢谢
首先,它是异步的(使用官方 Motor 驱动程序),如果您想通过 FastAPI 使用异步端点(大多数操作是 I/O),这是必须的。
Beanie 允许我们在应用程序级别定义模型和实施模式(使用 Pydantic 和 PydancticV2),并且与 FastAPI 数据验证配合得很好(两者都使用 Pydantic)。
它还提供了与数据库交互的简单方法(例如 model.insert()、model.get())。
试一试! :)