У меня есть мнение CouchDB «record_by_date_product» со следующим определением:Как запросить представление couchdb с помощью сложного ключа?
function(doc) {
emit([doc.logtime, doc.product_id], doc);
}
Я пытаюсь выполнить запрос, который что-то вроде:
(logtime > fromdate & logtime < todate) & product_id in (1,2,6)
Возможно ли это с этой точки зрения?
Я также использую библиотеку python couchdb для доступа к couchdb. Вот фрагмент кода:
server = couchdb.Server()
db = server['mydb']
results = db.view('_design/record_by_date_product/_view/record_by_date_product')
Эта страница http://packages.python.org/CouchDB/client.html#viewresults указывает, что мы можем использовать Клавишапуска и EndKey. Но я не могу заставить его работать.
Спасибо
Ты только один человек, не так ли? Вы просто ответили на свой вопрос и сказали: «Надеюсь, это поможет». Во всяком случае, это не сработает, потому что порядок ключей неверен. Диапазон между '[start_date, 1]' и '[end_date, 1]' будет включать в себя много вещей, которые вы не хотите, как и все в диапазоне дат для id = 2 продукта. Это * будет * работать, если вы выбрали идентификатор продукта до даты. –
Хехэ! Я думал, что это тоже поможет другим! :) Вы правы, мне придется отменить порядок ключей, а затем запросить представление. Позвольте мне внести изменения в решение. Благодаря! –