- 博客(14)
- 收藏
- 关注
原创 关于MongoDB中的固定集合(Capped Collection)和动态集合(Dynamic Collection)的数据存储形式
仅允许等量替换文档。• 灵活模式(Schema-less):文档可包含任意字段和嵌套结构,支持动态扩展(如社交平台用户动态字段)。预定义固定大小(size)或文档数(max),数据写满后按插入顺序自动覆盖旧文档(类似环形队列)。• 自由更新与删除:允许通过操作符修改文档内容,支持事务和多文档操作(MongoDB 4.0+)。文档结构相对固定(需避免字段扩展),适合简单且模式稳定的数据(如日志、传感器读数)。• 高频写入:如日志采集(Web 服务器日志)、实时数据流(IoT 传感器)。
2025-03-26 21:11:56
277
原创 MySQL 与 MongoDB 的差别
数据以行和列的形式存储,需预先定义严格的表结构(Schema)。例如,银行账户表必须包含固定字段(账号、余额、用户ID等),新增字段需修改表结构。例如,转账操作中扣减A账户余额并增加B账户余额,必须保证原子性,避免中间状态导致数据错误。语法直观但缺乏原生JOIN支持,复杂查询需依赖聚合管道(Aggregation Pipeline),代码复杂度较高。进行复杂查询,支持多表关联(JOIN)、聚合函数等。:通过升级单机硬件(CPU、内存)提升性能,但成本高且存在上限。存储订单和用户关系(保证事务),同时用。
2025-03-26 20:58:50
2081
原创 MongoDB如何
在文档的 [Aggregation Pipeline](https://www.mongodb.com/docs/manual/core/aggregation-pipeline/) 章节,通过 **分步骤流程图** 理解 `$match` → `$group` → `$sort` 的数据流向。3. **社区问答**:遇到问题可搜索 [MongoDB Community Forum](https://developer.mongodb.com/community/forums/)
2025-03-26 20:16:15
398
原创 Flask的Blueprint(蓝图)
一个Flask项目可以包含多个Blueprint,每个蓝图对应独立的功能模块(如用户管理、文章管理)。例如,用户认证、文章管理等功能可分别封装到不同蓝图中,提升代码组织性。Flask的Blueprint(蓝图)是一种模块化设计工具,能够将复杂应用拆分为独立的功能模块,类似于Django的子应用管理。同一蓝图可多次注册到不同URL路径,实现代码复用。例如,一个API蓝图可同时绑定到。例如,用户模块的模板可存放在。:在注册蓝图时,可通过。参数实现子域名路由(如。),适用于多站点场景。路径,支持多版本接口。
2025-03-26 18:53:44
394
原创 SQLAlchemy存储session的基本配置 在数据库中的形式上什么样的?用表格举例
模块进行序列化和反序列化。当应用需要获取会话数据时,要查看数据库中实际的数据,可以使用数据库客户端(如。存储到数据库中时,根据你的配置,会创建一个名为。是经过序列化的二进制数据,在Python中,在代码层面,如果使用SQLAlchemy的。连接到你的MySQL数据库,然后执行。,然后反序列化得到原始的会话数据。这样的SQL语句来查看表中的记录。例如,假设你有一个应用,通过。的表(假设你在配置中设置。表中每列的名称和类型。设置了会话数据,并且。
2025-03-26 18:41:54
173
原创 flaskdemo
Student(学生)和Course(课程),以及它们之间的多对多关系表。Student模型包含学生的基本信息,如姓名、年龄、性别、邮箱和钱包余额。Course模型包含课程的基本信息,如课程名称和价格。使用定义学生和课程之间的多对多关系,并通过secondary参数指定关系表。
2025-03-26 17:27:40
922
原创 SQLAlchemy的ORM库
关系表[这种表,无法提供给python进行操作的,仅仅用于在数据库中记录两个模型之间的关系]db.Column("id", db.Integer, primary_key=True, comment="主键ID"),db.Column("sid", db.Integer, db.ForeignKey("table_student.id"), comment="学生"),
2025-03-26 16:58:42
556
原创 异步操作SQLAlchemy
这段Python代码使用了异步编程和SQLAlchemy ORM(对象关系映射)库来与数据库进行交互。异步编程和SQLAlchemy的结合使得数据库操作更加高效,特别是在I/O密集型的应用中,因为它允许在等待数据库响应的同时执行其他任务。这行代码如果取消注释,将会删除当前程序中所有模型对应的数据表。这通常用于重置数据库到初始状态,但在生产环境中使用时需要谨慎。,这是异步编程的基础,允许函数在等待I/O操作(如数据库查询)完成时释放控制权。方法来创建当前程序中所有模型对应的数据表,如果这些表还不存在的话。
2025-03-26 16:55:19
491
原创 cursor.lastrowid
通常用于数据库编程,特别是在使用像 SQLite、MySQL、PostgreSQL 等数据库时。这行代码的作用是获取最近一次通过该游标(cursor)执行的 INSERT 操作所生成的行的唯一标识符(通常是自增的主键ID)。的值并不总是在所有情况下都有意义或可用。例如,在某些数据库配置或表结构中,可能没有自增主键,或者数据库可能不支持这一功能。的表,该表有一个自增的主键ID字段。: 假设你有一个SQLite数据库,并且有一个名为。将输出新插入行的ID。将总是返回最后一次插入操作的行的ID。
2025-03-26 16:46:52
389
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人