ahvn.utils.mdb.types moduleΒΆ
MongoDB type definitions and conversion utilities for UKF models.
- class ahvn.utils.mdb.types.BaseMongoType(**kwargs)[source]ΒΆ
Bases:
objectBase class for MongoDB field types with UKF conversion.
- class ahvn.utils.mdb.types.MongoIdType(**kwargs)[source]ΒΆ
Bases:
BaseMongoTypeID type for MongoDB (_id field).
UKF IDs can be very large integers (beyond 64-bit). MongoDB only supports up to 64-bit integers (8 bytes). We store IDs as strings to avoid overflow.
- class ahvn.utils.mdb.types.MongoTextType(length=None, **kwargs)[source]ΒΆ
Bases:
BaseMongoTypeText type for MongoDB (string).
- Parameters:
length (int | None)
- class ahvn.utils.mdb.types.MongoIntegerType(**kwargs)[source]ΒΆ
Bases:
BaseMongoTypeInteger type for MongoDB.
- class ahvn.utils.mdb.types.MongoBooleanType(**kwargs)[source]ΒΆ
Bases:
BaseMongoTypeBoolean type for MongoDB.
- class ahvn.utils.mdb.types.MongoDurationType(**kwargs)[source]ΒΆ
Bases:
BaseMongoTypeDuration type for MongoDB (stored as integer seconds).
- class ahvn.utils.mdb.types.MongoTimestampType(**kwargs)[source]ΒΆ
Bases:
BaseMongoTypeTimestamp type for MongoDB (stored as integer or datetime).
- class ahvn.utils.mdb.types.MongoJsonType(**kwargs)[source]ΒΆ
Bases:
BaseMongoTypeJSON type for MongoDB (stored as embedded document).
- class ahvn.utils.mdb.types.MongoVectorType(**kwargs)[source]ΒΆ
Bases:
BaseMongoTypeVector type for MongoDB (stored as array of floats).
- class ahvn.utils.mdb.types.MongoTagsType(**kwargs)[source]ΒΆ
Bases:
BaseMongoTypeTags type for MongoDB (stored as array of {slot, value} subdocuments).
UKF tags are stored as strings like β[slot:value]β. MongoDB stores them as subdocuments: [{βslotβ: ββ¦β, βvalueβ: ββ¦β}, β¦]
- class ahvn.utils.mdb.types.MongoSynonymsType(**kwargs)[source]ΒΆ
Bases:
BaseMongoTypeSynonyms type for MongoDB (stored as array of strings).
UKF synonyms are already a set of strings.
- class ahvn.utils.mdb.types.MongoRelatedType(**kwargs)[source]ΒΆ
Bases:
BaseMongoTypeRelated type for MongoDB (stored as array of relation subdocuments).
UKF related are 5-element tuples: (subject_id: int, relation: str, object_id: int, relation_id: Optional[int], relation_resources: Optional[str])
The relation_resources is a JSON string that gets stored in MongoDB as-is.
- class ahvn.utils.mdb.types.MongoAuthsType(**kwargs)[source]ΒΆ
Bases:
BaseMongoTypeAuthorities type for MongoDB (stored as array of subdocuments).
UKF stores auths as set of β[user:authority]β strings. We parse this into subdocuments with user and authority fields.