【问题标题】:Why define a schema? [duplicate]为什么要定义模式? [复制]
【发布时间】:2016-04-28 01:18:26
【问题描述】:

我是 MongoDB 和 mongoose 的新手,我读到 mongodb 是无模式的,但我也读到可以并鼓励定义模式。 如果数据库不需要,为什么我需要定义一个模式?

【问题讨论】:

    标签: mongodb mongoose


    【解决方案1】:

    因为通常情况下,数据库中的文档代表可重用对象容器(原型/类)的实例。这些通常看起来至少大致相似。

    虽然有大量与对象结构/类型系统(多态性、[原型/多重]继承、鸭子类型等)有关的编程范式,但共同点是以某种方式将某些数据字段排列在一起是有意义的。

    由于 MongoDB 不强制执行严格的模式,它几乎兼容所有这些范例。当使用 MongoDB 存储可重用容器类型的实例时,定义这样的模式很有意义,因为它可以帮助包装器提供方便的方法、验证帮助器或注入合理的默认值。

    不过,您也可以将 MongoDB 用作 JSON 文档的大型哈希表 - 在这种情况下,架构没有意义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-19
      • 2021-08-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-11
      相关资源
      最近更新 更多