CouchDB 的自定义剩余 api?

Custom rest api's for CouchDB?

我一直在谷歌上搜索,试图找到示例或直接回答我的问题。是否可以 create/extend 我自己的自定义 api couchDB 端点?例如,我可以创建一个 api 调用,如 http://127.0.0.1:5984/database/FillDatabase/... 来用数据填充数据库吗?

如果 couchDB 确实提供了这个功能,那么请向我提供一个 link 可能给一些 tutorial/guide/example 如果可能的话。谢谢

可能想要_rewrites feature,它允许任何视图重写传入的URL 该数据库.

但是,对于 root-level APIs,并且为了便于定制,最好在 CouchDB 前面强加一个 Web 引擎(nginx,一个 node.js 服务器, ETC。)。 _rewrites 足够灵活,可以简化特定数据库的 API,但它并非旨在处理所有传入请求,并且很快就会变得笨拙。

您也将仅限于 CouchDB 可以处理的工作 - 例如,FillDatabase 自定义 API 需要符合批量 API.

CouchDB bulk document API 允许您在单个 HTTP 请求中同时创建和更新多个文档

以Angular的HttpClientclass为例,可以这样操作:

const baseURL = 'http://localhost:5984/';
let httpHeaders = new HttpHeaders();
httpHeaders = httpHeaders.set('Accept', 'application/json');
httpHeaders = httpHeaders.set('Content-type', 'application/json');
httpHeaders = httpHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));
const httpOptions = { headers: httpHeaders, withCredentials: true };

this.httpClient.post<any>(baseURL + database + '/_bulk_docs',
      { docs: myDocuments }, httpOptions);