2017-05-08 48 views
0

我正在設置pouchdb/couchdb實時同步。我正在使用pouchdb-authentication登錄。Pouchdb/CouchDB all_docs錯誤

當我在本地開發服務器上,一切工作正常。

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.\">>}"} 

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

我注意到,當一個新的同步發生這只是發生(否則它不會出現all_docs被稱爲)all_docs似乎根本不會在我的本地開發服務器上調用,無論狀態如何。

其他調用(對_session,_changes)等工作正常生產服務器。

回答

1

看起來用戶需要對數據庫擁有管理權限才能使用all_docs。我的用戶只是「成員」,all_docs不會在pouchdb中調用,除非數據庫已經存在於couchdb服務器上,但客戶端上沒有。