PouchDB的map / reduce查询API可以将很长的GET参数发送到CouchDB,也可以进行POST。 PouchDB似乎在做另一件事。它是如何决定的,是否可以通过参数选择方法? https://pouchdb.com/api.html#query_database
答案 0 :(得分:0)
当使用地图/缩小视图时未定义opts.keys
选项时,PouchDB考虑使用POST,但它还会检查GET URL是否太长。不幸的是,使用stackoverflow.com选择的PouchDB的MAX_URL_LENGTH
比CouchDB 2.3的最大长度长。因此,具有中等数量键的查询将使用GET并失败。没有强制执行一种或另一种方法的选项。
(对于何时将POST用于其他CouchDB API,PouchDB似乎有不同的规则)
我可以发送到CouchDB 2.3的最长GET请求是1335字节或1300字节,而没有协议,主机和端口。
事实证明,这是CouchDB 2.3中的回归,应在CouchDB 2.3.1中进行修复。 https://github.com/apache/couchdb/issues/1810