当前位置:  开发笔记 > 后端 > 正文

CouchDB文档模型更改?

如何解决《CouchDB文档模型更改?》经验,为你挑选了1个好方法。

Rails使用迁移的概念来使用ActiveRecord API处理模型更改.

CouchDB使用JSON(嵌套映射和数组)来表示其模型对象.

到目前为止,在使用CouchDB时,我没有看到识别文档结构何时发生变化的好方法(除了作为开发人员受到纪律处分),或者用于将文档从旧模型迁移到新模型.

是否存在现有功能,或者您是否拥有在CouchDB中处理模型更改的最佳实践?



1> Paul J. Davi..:

RDBMS去脑洗脑的时间.:)

couchdb的无架构设计的最重要的一点是直接旨在防止迁移的需要.对象的JSON表示使得简单地对对象进行输入变得容易.

例如,假设您有一个博客类型的Web应用程序,其中包含帖子以及人们在博客中存储的任何奇特内容.你的帖子文档有像作者,标题,创建的等字段.现在你来自己想一想,"我应该跟踪我发布帖子时月亮的相位......"你可以开始添加moon_phase作为新帖子的属性.

如果你想完成,你会回去并将moon_phase添加到旧帖子,但这不是绝对必要的.

在您的视图中,您可以访问moon_phase作为属性.并且它将为null或导致异常或其他内容.(不是JS专家,我认为null是正确答案)

事情是,它并不重要.如果你想改变一些东西就改变它.虽然确保您的观点了解这种变化.根据我的经验,这并不需要太多.

此外,如果你真的是偏执狂,你可以存储一个版本/类型属性,如:

{
   _id: "foo-post",
   _rev: "23490AD",
   type: "post",
   typevers: 0,
   moon_phase: "full"
}

希望有所帮助.

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有