tutorial español backbone date couchdb nosql

date - español - mongodb



Consultar documentos de CouchDB entre una fecha de inicio y una fecha de finalización (3)

He estado tratando de averiguar cómo crear una vista CouchDB que me permita consultar todos los documentos que tienen una fecha de inicio mayor que A y una fecha de finalización menor que B.

¿Es esto posible en CouchDB u otro almacén de documentos noSQL? ¿Debo descartarlo y volver a SQL?

Simplemente estoy tratando de hacer el equivalente de SQL de:

SELECCIONA * DONDE [marca de hora de inicio]> = doc.start AND [marca de hora de finalización] <doc.end;


Solo crea un mapa como este:

function (doc) {emit(doc.timestamp, 1)}

luego consulta la vista con:

?descending=true&limit=10&include_docs=true // Get the latest 10 documents

La vista se ordenará de la más antigua a la más reciente, de manera que descending=true invierte ese orden.

Si quieres un rango específico.

?startkey="1970-01-01T00:00:00Z"&endkey="1971-01-01T00:00:00Z"

Te conseguiría todo en 1970.

Estos deberían ayudar:


Utilice la startkey y la endkey . De esta manera, puede decidir su intervalo de fechas en tiempo de ejecución sin ralentizar su consulta.


Utilice una clave de matriz en su función de mapa

function (doc) { var key = [doc.start, doc.end] emit(key, doc) }

Luego, para obtener documentos con una fecha de inicio mayor que 1970-01-01T00: 00: 00Z y una fecha de finalización antes de 1971-01-01T00: 00: 00Z use la consulta

?startkey=["1970-01-01T00:00:00Z", ""]&endkey=["/ufff0", "1971-01-01T00:00:00Z"]