2017-01-09 6 views
0

Мой индекс couchdb возвращает эти документы при запросе (это нормально) http://imgur.com/HoBBeSG.Couchdb: startkey и endkey не работают со сложным ключом

Когда я хочу искать индекс с ключом запуска и конечным ключом, он будет возвращать результаты только на первом поле сложного ключа, игнорируя второе поле. http://imgur.com/QQYx64O.

Кто-нибудь знает, в чем проблема? Благодарю.

ответ

2

Это распространенное заблуждение, которое я вижу, когда люди пишут мнения в CouchDB. При использовании сложного ключа, подобного этому, результаты сортируются по каждому элементу массива каскадным способом. (аналогично тому, как база данных SQL работает с несколькими полями SORT BY)

Используя ваш пример, вы должны переключить порядок своих ключей, поскольку вы сможете фильтровать только слева направо. Хорошо иметь несколько видов, которые сортируют/индексируют ваши данные в зависимости от того, как вы хотите запросить его.

Я бы очень рекомендовал прочитать документацию, особенно Guide to Views и около Views Collation, так как это касается сложных клавиш.