1

像 Rails 和 Django 这样的传统 Web 框架可以根据“模型”生成 HTML 表单,这些“模型”对应于模式——数据库中的表。

这如何与 CouchDB 一起工作?(没有表也没有模式)

您是否只是手动创建自定义表单,并让它们充当您的“模型/模式”?您是否在 javascript 中定义了“模型”?这是否允许自动生成表单?你有“模型”或类似定义为 JSON 文档的东西吗?

此外,传统的 HTML 表单处理单个“记录”——每个“键”有一个值。JSON 文档可以在一个键或另一个嵌套文档下有一个值列表!-- 传统的 HTML 表单无法处理这个问题!JSON 文档(甚至是已知“doctype”的文档)可能具有“额外”(未定义)字段——它们可能缺少字段——它们可能具有值与预期类型不同的字段。所有这些事情都不是由传统的 HTML 表单处理的。

与传统的 HTML 表单相比,用户与 JSON 文档进行交互是否有更好的方法?

4

2 回答 2

2

Kanso CouchApp 框架为 CouchDB 提供了最全面的模式和表单生成工具:http: //kansojs.org

查看教程以了解示例用法。模式定义是由团队创建的,用于与 CouchDB 一起使用,并允许嵌入对象和其他复杂的 JSON 类结构,它是一种非常灵活的格式(比 JSON 模式更灵活)。

您还可以从架构定义中自动生成表单,或使用自定义字段、小部件、验证器、权限等扩展这些表单。

于 2011-08-10T16:36:30.197 回答
1

尽管 CouchDB 保存没有模式的 json,但您可以在表示端定义 json 模式。然后你可以将这个 json 模式提供给 inputEx,它会为你创建一个表单。

见这里: http: //neyric.github.com/inputex/examples/json-schema.html

InputEx 非常灵活,可以处理数组、对象和属性的特殊编辑器。只需了解json模式标准没有很好的定义。如果你只是用它来做 CRUD 操作,你应该没问题。

随着时间的推移,如果你的表单发生了变化并且架构发生了变化,那么对于 couchdb 来说真的无关紧要。但是您可能需要为用户提供一种将数据迁移到新模式的方法。

于 2011-08-10T16:30:16.660 回答