我正在从我的nodejs应用程序查询cloudant数据库。我现在正在尝试对视图查询的结果进行排序。我的索引(键)是这样的:[“ FR000001”,1577189089166][“ FR000001”,1577189089165]等
从以下视图:
function(doc) {
emit([doc.siteId, doc.creationDate],{"id" :doc._id, "rev": doc._rev, "siteId": doc.siteId, "creationDate": doc.creationDate, "scores": doc.scores, locationId: doc.locationId});
}
[我设法使用cloudant github的bug部分中找到的语法,使用语法“ sort:” -creationDate“”在一个真实索引上工作。
var ddoc = {
q: "site:\"" + id + "\"",
include_docs: false,
sort: "-creationDate",
};
const tmp = await cloudant.use('alarms').search('alarmSearch', 'IndexBySite', ddoc);
我无法使用查询参数数组在我的视图上使用它。我尝试过以下不同的变化:
var ddoc_view = {
startkey: ["siteid1",0000000000000],
endkey: ["siteid1",9999999999999],
include_docs: true,
sort: "creationDate"
};
[谁能帮助您找到正确的语法,或者指向我在哪里可以找到好的“用于nodejs的cloudant API”文档?例如,在github上没有关于如何使用sort的任何信息...谢谢...
经过一天的搜索,可以确定:-我发现的最好的文档直接是benchdb文档:https://docs.couchdb.org/en/stable/ddocs/views/intro.html-我最终修改了视图:
emit([doc.creationDate, doc.siteId], {"id" :doc._id, "rev": doc._rev, "siteId": doc.siteId, "locationTag":doc.locationTag});
和请求:
var ddoc_view = {
endkey: [0000000000000, siteid],
startkey: [9999999999999, siteid],
include_docs: false,
descending: true,
limit: docsReturned,
};
获得排序的响应。