Как я могу определить все возможные ключи базы данных 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 / группа клавиш = истина

Вы должны получить список всех ключей в вашей базе данных и подсчет того, как часто это происходит.

это помогает?

Другие вопросы по тегам