Как получить все документы за указанный c интервал времени? - PullRequest
0 голосов
/ 22 января 2020

Как сказано в заголовке, я пытаюсь получить все документы в указанном c диапазоне времени. У меня есть документы в моей базе данных с сохраненной отметкой времени. Я искал что-то вроде этого Запрос документов CouchDB между датой начала и датой окончания , но у меня это не получилось, я также использую nano для nodejs, и я не знаю, как что-то написать как

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

в нано-синтаксисе. Я искал что-то здесь https://www.npmjs.com/package/nano#dbviewdesignname -viewname-params-callback но я не мог найти что-то похожее.

1 Ответ

0 голосов
/ 23 января 2020

Вы можете использовать /db/_find с селектором, который использует операторы $gte и $lt (или $lte), описанные в главе Операторы условия API CouchDB Ссылка.

"selector": {
   "myTimestamp": {
      "$gte": "2020-01-23T06:00:00.000Z",
      "$lt": "2020-01-23T07:00:00.000Z"
   }
}

При использовании nano db.find это может выглядеть следующим образом:

const q = {
  selector: {
    myTimestamp: {
      "$gte": "2020-01-23T06:00:00.000Z",
      "$lt": "2020-01-23T07:00:00.000Z"
    }
  }
};

myDb.find(q).then((doc) => {
   console.log(doc);
});
...