我正在设置一个pouchdb / couchdb实时同步。我正在使用pouchdb-authentication登录。
在我的本地开发服务器上,一切正常。
let pdbConfig = { skipSetup: true};
let remoteDb : any = new PouchDB(config.couch.server, pdbConfig);
remoteDb.login(config.couch.username, config.couch.password).then(u => {
db.sync(remoteDb, {
live: true
}).on('complete', (info)=> {
store.dispatch({type: "REMOTE_SYNC_COMPLETE"});
})
}).catch(e=>{
console.error(e)
})
在制作时,我收到此错误:
{"error":"case_clause","reason":"{forbidden,<<\"You are not a db or server admin.\">>}"}
我注意到这只发生在新的同步发生时(否则看起来没有all_docs
被调用)all_docs
似乎根本没有在我的本地开发服务器上调用,无论国家。
其他调用(对_session,_changes)等可以正常工作到生产服务器。
答案 0 :(得分:1)
看起来用户需要拥有数据库的管理员权限才能使用all_docs
。我的用户只是&#34;成员。除非在couchdb服务器上已存在数据库,但客户端上不存在数据库,否则不会在pouchdb中调用all_docs
。