云数据库:文档型 NoSQL 数据中枢 本章为云数据库专题的支柱页,讲解云开发 CloudBase 如何以文档模型承载应用数据。 章节摘要:云数据库是云开发 CloudBase 内置的文档型 NoSQL 数据库,以「集合」与「文档」组织数据,天然适配前后端一体化的开发方式。它既能被云函数通过服务端 SDK 操作,也能在前端经 SDK 直接读写(受权限规则约束)。本章先建立文档型数据模型的概念,再讲解增删改查范式、查询条件与索引优化,最后说明权限模型与安全规则如何保护数据。 学习目标 理解集合、文档、字段的层级数据模型 掌握数据库的基本增删改查操作 了解查询条件、排序与索引对性能的影响 理解权限模型与安全规则的作用边界 本章小节关系:第 3.1 节建立数据模型认知;第 3.
本章为云数据库专题的支柱页,讲解云开发 CloudBase 如何以文档模型承载应用数据。
章节摘要:云数据库是云开发 CloudBase 内置的文档型 NoSQL 数据库,以「集合」与「文档」组织数据,天然适配前后端一体化的开发方式。它既能被云函数通过服务端 SDK 操作,也能在前端经 SDK 直接读写(受权限规则约束)。本章先建立文档型数据模型的概念,再讲解增删改查范式、查询条件与索引优化,最后说明权限模型与安全规则如何保护数据。
学习目标
本章小节关系:第 3.1 节建立数据模型认知;第 3.2 节落到 CRUD 基本操作;第 3.3 节讲查询优化,让数据读取得更高效;第 3.4 节从安全视角收口,说明谁能在什么条件下访问数据。四节从「怎么存」过渡到「怎么查」再到「怎么护」。
云数据库采用文档型(Document)模型。要真正用好它,先理解它与传统关系型数据库的差异。
关系型数据库用「表—行—列」组织数据,结构严格、需要预先定义 schema;文档型数据库用「集合—文档」组织,每个文档是一个 JSON 风格的对象。文档之间不必拥有完全相同的字段结构,这种灵活性非常适合需求快速演变的应用。当然,灵活不代表无设计——合理的字段约定仍然重要。
一个集合相当于一类数据的容器,例如用户、订单、文章;集合中的每一条文档是一个对象,包含若干字段。平台通常为每个文档维护一个唯一标识,用于精准定位。
文档天然支持嵌套对象与数组,便于表达一对多、标签列表等常见结构。例如一篇文章可以把「作者信息」作为嵌套对象内联,也可以把「标签」表示为字符串数组,而无需拆成多张关联表。这种表达力让很多业务模型写起来更直观。
文档模型适合数据结构相对灵活、读写频繁、关系不极端复杂的场景,例如内容、配置、用户画像。若业务中存在大量需要跨集合强一致事务、或高度规范化关联的复杂关系,则应在设计阶段权衡,必要时通过合理的集合划分与冗余字段来适配文档模型。
围绕集合与文档,云数据库提供完整的增删改查(CRUD)能力。
向指定集合写入一条文档,平台通常自动生成唯一标识,也可由调用方指定。写入时可一次插入单条,也可批量插入多条,具体取决于业务需要。
查询以条件表达式筛选文档,支持相等、范围、包含、正则等匹配方式,并可与排序、数量限制组合。查询既可在前端经 SDK 直接进行(受权限规则限制),也可在云函数内通过服务端 SDK 以更高权限执行。
更新用于修改匹配文档的一个或多个字段,支持整体替换与局部字段更新,也支持对数值做自增等原子操作。原子操作能避免并发覆盖,是计数、库存等场景的常用手段。
删除用于移除匹配的文档,通常需谨慎,避免误删大面积数据。高风险删除建议放在云函数中,配合权限校验与操作日志。
掌握 CRUD 后,你就拥有了让应用「记住事情」的能力,接下来要思考的是如何让查询既准确又高效。
当数据量增长,查询性能成为关键。云数据库的查询由三部分常见要素组成,合理组合才能得到既正确又轻量的结果集。
通过把多个条件以「且 / 或」逻辑组合,可以精确圈定目标文档。条件越精确,扫描的范围越小,响应越快。需要注意的是,部分复杂嵌套条件可能难以命中索引,设计时应优先把高频筛选字段作为查询入口。
排序决定返回顺序,分页(限制返回数量、跳过偏移)决定取多少条。对大结果集务必分页,避免一次性拉取过多数据造成延迟与流量浪费。结合排序与游标式分页,能在大数据量下保持稳定体验。
索引是加速查询的核心手段。对经常作为筛选或排序依据的字段建立索引,可以大幅减少扫描的数据量;反之,缺乏索引的查询可能退化为全集合扫描,在大数据量下明显变慢。
索引会占用空间并在写入时带来额外维护成本,因此应为高频查询路径建立索引,而非为所有可能字段盲目添加。经验上,先把业务里最频繁的「按某字段查、按某字段排序」沉淀为索引,再结合慢查询观察持续调优。
云数据库的一大特点是「权限前置」:每类读写都先经过权限判定,再决定是否执行。
平台默认提供几种常见策略,例如仅创建者可读写、所有用户只读、私有等,覆盖了大多数场景。初学者可先用默认策略快速起步,再逐步细化。
当默认策略不够用时,可以编写更细的安全规则,按字段、按条件控制谁能读、谁能写。例如规定「文章的公开字段所有人可见,但草稿仅作者本人可见」。安全规则在前端直接读写时尤其重要,因为它是不依赖服务端代码的第一道防线。
需要强调:安全规则约束的是「前端直接访问」的边界;在云函数内通过服务端 SDK 的调用通常拥有更高权限。因此敏感操作应放在云函数中,并配合业务校验,避免把权限判断完全寄托于前端规则。
设计权限时遵循「最小可见」原则:默认收窄,按需放开;把owner标识写入文档,用规则约束「仅本人」;对公开内容也只暴露必要字段。把「权限模型」与「云函数校验」结合起来,才能构建既灵活又安全的数据层。
本章关键词:云数据库、CloudBase 数据库、文档型数据库、NoSQL、权限规则。下一篇:第 4 章 · 云存储。