【问题标题】:Pouchdb / CouchDB all_docs errorPouchdb / CouchDB all_docs 错误
【发布时间】:2017-10-07 00:23:21
【问题描述】:

我正在设置 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)等对生产服务器正常工作。

【问题讨论】:

    标签: couchdb pouchdb


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-02
      • 2018-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-21
      • 2015-10-28
      相关资源
      最近更新 更多