如何获取特定时间范围内的所有文档?

时间:2020-01-22 20:59:02

标签: node.js couchdb couchdb-nano

就像标题中所说,我试图在特定时间范围内获取所有文档。我的数据库中有文档,并存储了时间戳。 我一直在寻找类似Querying CouchDB documents between a start date and an end date的内容,但是我并没有真正使用它,我也将nano用于nodejs,而且我不知道如何编写类似的内容

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

用nano语法。我在这里https://www.npmjs.com/package/nano#dbviewdesignname-viewname-params-callback处寻找东西,但找不到类似的东西。

1 个答案:

答案 0 :(得分:0)

您可以将/db/_find与选择器一起使用,该选择器使用CouchDB API参考的第Condition Operators章中所述的运算符$gte$lt(或$lte) 。

"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);
});