Pouchdb / CouchDB all_docs错误

时间:2017-05-08 20:55:52

标签: couchdb pouchdb

我正在设置一个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.\">>}"}

请求网址:https://myproductionserver:6984/userdb-82911660-c14b-472c-adb4-6f2ed280cae9/_all_docs?conflicts=true&include_docs=true

我注意到这只发生在新的同步发生时(否则看起来没有all_docs被调用)all_docs似乎根本没有在我的本地开发服务器上调用,无论国家。

其他调用(对_session,_changes)等可以正常工作到生产服务器。

1 个答案:

答案 0 :(得分:1)

看起来用户需要拥有数据库的管理员权限才能使用all_docs。我的用户只是&#34;成员。除非在couchdb服务器上已存在数据库,但客户端上不存在数据库,否则不会在pouchdb中调用all_docs