Как я могу определить все возможные ключи базы данных CouchDB?
Я создаю одно приложение, в котором для каждого продукта у меня есть одна база данных, и я буду создавать разные документы на основе даты. Ключи в документах могут быть разными и зависеть от пользователя, что он предоставляет. Предполагается, что пользователь будет продолжать давать тот же ключ для отслеживания с измененным значением с течением времени. В конце мне нужно знать все возможные ключи, прежде чем создавать на них автоматические представления.
Пример: если у меня была БД, скажем, тест. Он содержит, скажем, два документа,
1. { "_Id":"1", "_Rev":"1" "type": "Note", "content": "Hello World!" } 2. { "_Id":"2", "_Rev":"1" "type": "Note", "content": "Beyond Hello World!", "Экстра": "Стрела" }
Затем я хочу перечислить все ключи в этой БД. Ответ должен быть _id,_rev,type,content и extra.
Эти ключи являются динамическими и зависят от пользователей. Поэтому я не мог предположить, что знал их заранее.
1 ответ
Я никогда не использовал stackru прежде, я видел ваш вопрос, пытаясь решить эту проблему самостоятельно, поэтому я зарегистрировался. Я думаю, что это решает вашу проблему:
создайте представление, где "views" включают это:
{"keys": {"map": "function (doc) {for (var thing in doc) {emit (thing, 1);}}", "Reduce": "function(key,values) { return sum(ценности); }" } }
затем запросите это представление с group=true, например:
HTTP: // локальный: 5984 / MYDB / _design / MyView / _view / группа клавиш = истина
Вы должны получить список всех ключей в вашей базе данных и подсчет того, как часто это происходит.
это помогает?