由于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方法是否意味着前者更正确?
答案 0 :(得分:11)
使用多个数据库的主要原因是由于数量而将数据拆分,特别是创建新视图,压缩等。逻辑上没有理由将它们拆分。
简单的事实是DB并不关心。网址也不是。 REST也没做。您可以使用视图轻松地在沙发中创建逻辑上类似的URL结构,或者如果您发现有攻击性,则可以使用Couch内置的URL重写功能。
REST关心架构。 REST关心您使用唯一的URL。 REST关注您使用超媒体通过其URL提供指向其他资源的链接。 REST关心您使用无处不在的媒体类型。漂亮的URL在REST关注的事项列表中排在前列。
如果您想做REST,请关注架构和媒体类型。网址几乎可以自行处理。