随笔分类 -  数据库

摘要:## 1. **数据模型** - **MongoDB(NoSQL,文档型数据库)** - 适用于 **非结构化或半结构化数据**,数据存储为 BSON(类似 JSON)。 - 适合存储 **嵌套数据**(如用户信息、订单等包含复杂对象的数据)。 - 适用于 **动态 schema**,字段可以随时变 阅读全文
posted @ 2025-02-24 12:30 XieBuWan
摘要:在 Elasticsearch(ES) 和 Django ORM 中,A、Q 和 F 主要用于 查询构造和组合,它们的作用如下: A(Aggregation):用于 聚合查询(统计、分组等)。 Q(Query):用于 构造复杂查询条件(AND、OR、NOT 组合)。 F(Field):用于 字段运算 阅读全文
posted @ 2025-02-08 16:09 XieBuWan
摘要:1. ReferenceField 功能:用于在一个文档中引用另一个文档,类似于关系型数据库中的外键。 存储方式:存储被引用文档的 ObjectId。 查询行为:当访问该字段时,直接加载被引用的目标文档。 适用场景:适合用于多对一关系或文档之间有独立管理需求的情况。 特点: 引用的目标文档保存在单独 阅读全文
posted @ 2024-11-18 16:14 XieBuWan 阅读(47) 评论(0) 推荐(0)
摘要:1. QuerySet 概念 QuerySet 是 Django ORM (Object-Relational Mapping) 中的对象,用于表示从数据库查询出来的一组数据。 可以看作是数据库查询结果的抽象表示,包含零个或多个模型实例。 特性 延迟加载: QuerySet 是惰性的,只有在需要时才 阅读全文
posted @ 2024-11-18 14:29 XieBuWan 阅读(226) 评论(0) 推荐(0)
摘要:ObjectId 是 MongoDB 中用于标识文档的唯一标识符(ID),由 BSON 库(bson)提供的一个类。以下是 ObjectId 的作用及其常用操作。 ObjectId 的作用 唯一标识文档: 每个存储在 MongoDB 中的文档都有一个 _id 字段,默认类型是 ObjectId。 它 阅读全文
posted @ 2024-11-18 11:43 XieBuWan
摘要:在使用 mongoengine 的 QuerySet 时,.only('field_name') 是一种优化查询的方法,用于指定只查询某些字段的数据。以下是其工作原理及返回的内容: .only('field_name') 的作用 它限制 MongoDB 查询返回的字段,仅获取指定的字段内容。用于提高 阅读全文
posted @ 2024-11-18 11:38 XieBuWan
摘要:以下是 MongoEngine 中支持的所有字段类型的完整列表,包括常用的和特殊的字段类型: 1、基本字段类型 StringField:用于存储字符串。 IntField:用于存储 32 位整型。 LongField:用于存储 64 位整型。 FloatField:用于存储单精度浮点数。 Decim 阅读全文
posted @ 2024-10-31 16:16 XieBuWan
摘要:MongoDB 本身并不支持传统关系数据库中的外键(foreign key)概念,因为它是一个文档数据库,数据通常是以 JSON 格式存储的文档,并且不强制要求文档之间的关系。然而,你可以通过以下几种方式在 MongoDB 中实现类似外键的功能: 1. 引用(References) 你可以在一个文档 阅读全文
posted @ 2024-10-31 16:01 XieBuWan
摘要:Elasticsearch (ES) 的 ORM(对象关系映射)库有几个常用的选择,主要用于简化与 Elasticsearch 的交互。以下是一些比较流行的库及其特点: 1. Elasticsearch-py 这是 Elasticsearch 的官方 Python 客户端库,不是传统意义上的 ORM 阅读全文
posted @ 2024-10-31 15:53 XieBuWan
摘要:MongoDB 的 ORM(对象关系映射)库主要有几个常用的选择,以下是一些比较流行的库及其特点: MongoEngine: (360) 基于文档的 ORM,允许使用 Python 类来定义 MongoDB 文档结构。 提供了查询构建器,支持丰富的查询语法。 适合于快速构建小型到中型应用。 示例: 阅读全文
posted @ 2024-10-31 15:46 XieBuWan 阅读(282) 评论(0) 推荐(0)
摘要:MySQL、MongoDB 和 Elasticsearch (ES) 的 ORM(对象关系映射)语法并不一样,因为它们的底层数据模型和查询方式有很大不同。 MySQL:通常使用像 SQLAlchemy 或 Django ORM 这样的库,语法基于 SQL,支持表、行和列的关系型数据结构。 Mongo 阅读全文
posted @ 2024-10-31 15:29 XieBuWan