我一直在阅读关于CouchDB的更多信息,并且非常喜欢它(master:master replication是我想要使用它的主要原因之一)。CouchDB - 如何基于最终用户输入创建动态设计文档
但是,我有一个查询问你们...我从PHP的凸轮,并经常使用Drupal CMS。我最喜欢的一个(可能是整个drupal社区)是MerlinOfChaos编写的'Views'插件。这个想法是,管理员可以使用视图ui系统,从数据库中创建一个动态的内容流。该内容可以来自任何内容类型(博客文章,文章,用户,图像等),并且可以被过滤,排序,以网格排列,等等。一个简单的例子是为动画滑块创建内容来源。管理员可以随时进入并更改其中显示的内容。虽然通常我会将其设置为内容类型X的最近5个。
因此,对于像mongo这样的东西,我可以看看如何做到这一点。一个相当先进的解析器,然后将管理员想要的内容转换为数据库查询。由于mongo都基于动态查询,因此非常可行。不过,我想用沙发。
我已经看到,我可以创建一个视图,它需要一个参数,并将返回基于该参数的结果(例如,您要显示的5个文章ID的参数)。但是如果我想能够从UI中构建更高级的东西呢?我会添加更多的参数吗?例如,假设创建的视图选择值为'contentType'='post'且参数为id /页面标题的所有文档。但是如果我希望最终用户也能够选择视图查询的内容类型。或者最近的5篇文章,只要内容类型是3个不同的值之一?
这使我想到的另一件事是,一旦像这样的视图被创建并保存到数据库中,并且第一次调用它,它就花费时间来创建结果。你会在生产/现场系统上做到这一点吗?
部分原因是我希望最终用户能够根据网站上的文章和帖子在其个人资料页面上创建内容的自定义提要。并能够过滤它们并制作他们自己的类别,这样可以说出来并给它们加上标签。如他们的'技术'饲料,和他们的'食物'饲料。
我还是新来的沙发,还有阅读要做。但是,这是一个buggins我,我正在试图包裹我的头。由于我想到的产品将根据最终用户的输入而动态变化。
应用程序本身将用Python编写的
我会非常关心一个系统的性能,该系统可能有数百或数千个设计文档/视图,每个系统最终都会针对数据库的每次更新运行。 – WiredPrairie 2013-03-28 11:06:25
是的,这是重点,我不想要所有这些。所以我想弄清楚如何有效地做到这一点。 – skift 2013-03-28 17:32:13