2012-01-17 2 views
3

Есть ли способ получить все идентификаторы в базе данных в CouchDB? Я видел this solution, но, похоже, это хаки, и должен быть лучший способ.Получить все идентификаторы в CouchDB

Если бы я использовал это решение, как бы он масштабировался? Сколько времени потребуется, чтобы найти идентификаторы, скажем, все 100 000 документов в базе данных?

ответ

3

Решение этого вопроса - лучший ответ. (Я только что отредактировал его, чтобы сделать его более понятным.)

Ваша забота о том, что он чувствует себя хакерским, действителен. Однако стоит использовать _all_docs. Во-первых, он очень эффективен и масштабируемо. Список идентификаторов документов уже сохранен в CouchDB. Извлечение 100 000 идентификаторов (без?include_docs=true, конечно) было бы очень быстро.

Во-вторых, вместо того, чтобы сказать обычный текстовый список, ответ _all_docs обеспечивает достаточную структуру (строки JSON), чтобы быть полезной в долгосрочной перспективе. (Это будет недолго, пока вы не захотите партий 1000 или только идов, начинающихся с «m» и т. Д.)

+0

Спасибо: D Я думаю, что поеду с этим маршрутом! –

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