如何获取特定时间范围内的所有文件?
How to get all documents in a specific range of time?
正如标题所说,我正在尝试获取特定时间范围内的所有文档。我的数据库中有文档,其中存储了时间戳。
我一直在寻找类似这里 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"
纳米语法。我在这里找东西 https://www.npmjs.com/package/nano#dbviewdesignname-viewname-params-callback 但我找不到类似的东西。
您可以使用 CouchDB API 参考的 /db/_find
with a selector that uses operators $gte
and $lt
(or $lte
) described in the chapter Condition Operators。
"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);
});
正如标题所说,我正在尝试获取特定时间范围内的所有文档。我的数据库中有文档,其中存储了时间戳。 我一直在寻找类似这里 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"
纳米语法。我在这里找东西 https://www.npmjs.com/package/nano#dbviewdesignname-viewname-params-callback 但我找不到类似的东西。
您可以使用 CouchDB API 参考的 /db/_find
with a selector that uses operators $gte
and $lt
(or $lte
) described in the chapter Condition Operators。
"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);
});