Couchdb, диван-разъем и несколько баз данных - PullRequest
3 голосов
/ 03 января 2012

Мне интересно, пытался ли кто-нибудь заставить get couch-connector работать с несколькими базами данных.

У меня есть couchapp, который использует несколько баз данных, и у меня возникают проблемы с couch-connector для работы с ним. Соединитель Couch прекрасно работает, когда я использую одну базу данных, но если я пытаюсь fetch собрать коллекцию из другого представления базы данных, у меня возникает проблема, потому что он использует мой основной проектный документ в URL.

Еще один вопрос: как лучше всего реализовать приложение чата в моем проекте. Лучше иметь одну базу данных как входящие или я должен создавать базы данных для каждого пользователя. Я рассчитан на масштабируемость приложения в случае одной базы данных входящих сообщений.

1 Ответ

2 голосов
/ 26 января 2012

couch_connector на самом деле не предназначен для работы более чем с одной базой данных. Вы можете проверить backbone.couchdb.js , если вы не слишком далеко продвинулись в своем проекте. Он поддерживает несколько баз данных с помощью кода, как:

var main_db = Backbone.couch.db('main');
var other_db = Backbone.couch.db('other');

Вы можете увидеть пример кода (хотя и с одной БД) в приложении readme-backbone.js Я создаю на Couchbase.

Надеемся, что две библиотеки достаточно похожи, поэтому перенос вашего кода не составит труда.

На ваш вопрос в почтовом ящике: Первой проблемой являются ваши представления MapReduce - они работают только с документами в одной базе данных. Если вы будете использовать представление для доступа к данным на основе каналов, дат, пользователей и т. Д., Вам понадобятся все документы в одной базе данных. Однако вы можете разделить базу данных на нечто «большее», чем на пользователя (например, на канал).

Надеюсь, это поможет.

...