如何在 PyMongo 中创建常规集合和时间序列集合之间的文档关系?

问题描述 投票:0回答:0

我在 mongodb 中有一个常规用户集合,由 pydantic 建模如下:

class User(BaseModel):
    id: str = Field(default_factory=uuid.uuid4, alias="_id")
    username: str
    email: str
    password: str

    class Config:
        allow_population_by_field_name = True
        schema_extra = {
            "example": {
                "_id": "066de609-b04a-4b30-b46c-32537c7f1f6e",
                "username": "username",
                "email": "[email protected]",
                "password": "randomHashedPassword"
            }
        }

我还有一个时间序列用户数据集合,我还没有在 pydantic 中建模。 metaField 指向元数据字段,该字段将包含特定用户的 ID,以便我在查询用户数据集合时可以引用和填充用户。

处理这个问题的最佳方法是什么?使用 SQLAlchemy 和关系数据库,我可以创建与外键的关系,这实际上不适用于基于文档的数据库。我应该为 mongodb 研究什么类似的概念?

我是否应该创建一个聚合管道,并且只在元数据字段中查找用户 ID?

我不想使用 ODMantic,除非我绝对必须这样做,因为那是 pydantic 之外的另一个依赖项。

mongodb pymongo relationship fastapi pydantic
© www.soinside.com 2019 - 2024. All rights reserved.