Mam widoku couchdb „record_by_date_product” z następującą definicję:Jak zapytać o widok couchdb za pomocą klucza złożonego?
function(doc) {
emit([doc.logtime, doc.product_id], doc);
}
próbuję uruchomić kwerendę, która jest czymś w rodzaju:
(logtime > fromdate & logtime < todate) & product_id in (1,2,6)
to możliwe z tym poglądem?
Używam również biblioteki pythona couchdb, aby uzyskać dostęp do couchdb. Oto fragment kodu:
server = couchdb.Server()
db = server['mydb']
results = db.view('_design/record_by_date_product/_view/record_by_date_product')
Ta strona http://packages.python.org/CouchDB/client.html#viewresults określa, że możemy użyć startkey i endkey. Ale nie jestem w stanie sprawić, żeby działało.
Dzięki
Jesteś tylko jedną osobą, prawda? Właśnie odpowiedziałeś na własne pytanie i powiedziałeś "Mam nadzieję, że to pomaga". W każdym razie to nie zadziała, ponieważ kolejność klawiszy jest błędna. Zakres od "[data_doczenia, 1]" i "[data_końcowa, 1]" obejmuje wiele rzeczy, których nie chcesz, np. Wszystko w zakresie dat dla identyfikatora produktu = 2. To * będzie * działać, jeśli wydasz identyfikator produktu przed datą. –
Hehhe! Pomyślałem, że to pomoże także innym! :) Masz rację, będę musiał odwrócić kolejność klawiszy, a następnie zapytać o widok. Pozwól mi zrobić edycję rozwiązania. Dzięki! –