CouchDB создает базу данных для каждого типа документа?

Я только начал играть с couchdb, и мне это очень нравится, но мне было интересно, когда вы должны создавать новую базу данных.

Вот что я имею в виду:

Если я должен был создать блог на сервере с несколькими блогами, и это была СУБД, я бы создал базу данных с именем fox_blog и создавал таблицы и отношения для сообщений, комментариев и т.д..

Теперь в CouchDB я просто создаю 3 типа документов: сообщения, комментарии и учетные записи пользователей.

Но это мой вопрос: я бы сделал один db с именем fox_blog и добавил поле "type" в каждый из документов (например, в документах-сообщениях было бы поле типа "type" со значением "post" )? Или я сделаю отдельный db для каждого документа и предшествую имени с именем fox_ (например, имя db будет fox_posts для сообщений)? Или они не являются правильными?

Сообщите мне, если это неясно, было немного сложно объяснить хех

Ответ 1

Как правило, я стараюсь хранить отдельные приложения в каждой из своих собственных баз данных. В этом случае, если все различные блоги доступны в одном интерфейсе, сохраните их в одной базе данных, используя поля типа type и blog, чтобы идентифицировать каждый документ.

Если вы используете несколько блогов, каждый из которых обращается к их собственному домену или адресу, вы можете захотеть сегментировать каждую из блогов в свою собственную базу данных. В принципе, CouchDB позволяет вам проявлять большую гибкость, поэтому воспользуйтесь этим и экспериментируйте.

Ответ 2

Вы должны создать единую базу данных с полем типа в каждом документе.

Возможно, вы захотите написать представление, которое возвращает документ и все его комментарии вместе.

Ответ 3

Более важно, что запросы по нескольким БД не поддерживаются напрямую, хотя есть способы обойти это.

В вашем случае с сообщениями, комментариями и accts в отдельных БД не будет работать вообще.

Вы можете использовать либо утиную печать, либо использовать поле типа "post/comment" и т.д.

CouchDB имеет встроенную базу данных пользователей, которая также доступна в вашем приложении.