我正在使用PouchDB并尝试从云服务器复制。 我还有一个nodejs应用程序,它使用描述here
的技术代理对cloudant的请求var request = require('request')
module.exports = function(pattern, host){
return function(req, res, next){
if(req.url.match(pattern)){
var db_path = req.url.match(pattern)[1]
, db_url = [host, db_path].join('/');
req.pipe(request[req.method.toLowerCase()](db_url)).pipe(res);
}else{
next();
}
}
}
app.use(forward(/\/db\/(.*)/, TARGET_URL));
我在我的pouchdb上调用replicate:
db.replicate.from('http://localhost/db/myDb', {continuous: true})
查看网络选项卡,第一个请求成功,但后续请求已成功,但不是调用http://localhost/db/myDb
,而是http://localhost/db
,因此导致404.由于某种原因,它已丢弃我的数据库的名称。
知道为什么会这样吗?
答案 0 :(得分:2)
试试Smileupps吧。这是一个免费的couchdb hosting服务,支持最新版本的CouchDB(1.6.0),也与PouchDB兼容。
答案 1 :(得分:0)
有一些假设主机/ dbname设置的逻辑,关于如何通过将应用的最后一行更改为http://localhost/db_myDb
来使用app.use(forward(/\/db\_(.*)/, TARGET_URL));
名称设置,尽管PouchDB存在其他一些问题目前的版本有cloudant
答案 2 :(得分:0)
我听说至少有一个人说通过同步PouchDB< - >来说他们找到了成功。 CouchDB< - > Cloudant。 PouchDB为CouchDB和IrisCouch提供一流的支持;对于像Cloudant或Couchbase Sync Gateway这样的其他提供商,我们正在努力。