CouchDB中的RESTful API:如何构建文档结构?

4
由于CouchDB实现了RESTful API,这是否意味着我需要将所有相同类型的文档放在它们自己的数据库中?
例如:
POST http://localhost/users
GET http://localhost/users/1
PUT http://localhost/users/1
DELETE http://localhost/users/1

POST http://localhost/threads
GET http://localhost/threads/1
PUT http://localhost/threads/1
DELETE http://localhost/threads/1

与其将它们全部放在一个大型数据库中(http://localhost/my_app),不如采用100%的RESTful方法,这样前者更加正确吗?

1个回答

11

使用多个数据库的主要原因是因为数据量太大需要拆分,尤其是创建新视图、压缩等操作。从逻辑上讲,没有必要将它们分开。

简单来说,数据库不在意,URL也一样,REST也不例外。你可以很容易地在couch中使用视图创建逻辑上相似的URL结构。如果你觉得这样做有问题,你还可以使用Couch内置的URL重写功能。

REST关心架构,REST关心你使用唯一的URL,REST关心你通过超媒体链接到其他资源的URL。REST关心你使用普遍存在的媒体类型。美化URL是REST关心的事情中排在较后的位置。

如果您想使用REST,请专注于架构和媒体类型。URL基本上会自己处理。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接