2016-07-30 5 views
0

Рассмотрим два типа документов Company и Person:Присоединяйтесь к Couchbase Lite, как это возможно?

Company имеет 2 поля:

  • name типа String
  • employees типа List of Person

Person имеет 2 поля:

  • name типа String
  • city типа String

Как я могу создать запрос, где я найти все компании, которые имеют по крайней мере N сотрудников в данном городе?

EDIT: Другими словами, как можно сделать что-то вроде this с CouchBase Lite.

ответ

1

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

Одно из предложений заключается в создании представления, которое при предоставлении документа компании испускает пару ключ/значение через этап карты. Ключом может быть карта, содержащая название компании и город, а значение может быть любым (например, имя сотрудника). Затем добавьте функцию уменьшения, которая суммирует все записи индекса (это то, что создает первая часть) с одним и тем же ключом.

Таким образом, результатом выхода на сцену уменьшения для представления является общее количество сотрудников, наведенных компанией + городом. Затем вы можете делать запросы, чтобы получить результат.

Представления и запросы действительно мощные, но могут задуматься. Сосредоточьтесь на получении необходимой информации из представления, чтобы вы могли гибко запросить запрос.

Для получения более подробной информации ознакомьтесь с документацией View и Query.

+0

Спасибо, на данный момент я перешел в Царство (потому что там проще общаться), если это кажется слишком болезненным, я могу вернуться к CouchBase. – jhegedus

+0

@jhegedus Couchbase Mobile v2.0 будет иметь N1QL (супермножество SQL), что упростит это. Couchbase выпускает превью и ищет обратную связь. Взгляните, если у вас есть шанс. Благодарю. – Hod

Смежные вопросы