2016-03-20 45 views
1

我對pouchDB和couchDB非常新穎。我試圖使用pouchdb查找,但有一些問題。如何訪問pouchdb中手動創建的索引find

我創建了一個視圖 「測試」 和源 -

function(doc) { 
    emit(doc.name, doc.occupation); 
} 

enter image description here

,當我運行這一點 -

localDB.query('test/test').then(function (res) { 
    console.log(res); 
}).catch(function (err) { 
    console.log(err); 
}); 

一切正常。

但是當我嘗試pouchdb發現 -

localDB.find({ 
    selector: {name: 'kittens'} 
}).then(function (result) { 
    console.log(result); 
}).catch(function (err) { 
    console.log(err); 
}); 

我得到了下面的錯誤 -

Error: couldn't find a usable index. try creating an index on: name.


如果我通過

localDB.createIndex({ 
    index: { 
    fields: ['name'] 
    } 
}); 

創建索引只有pouchdb發現代碼作品。但是,當我手動創建一個索引(如上圖所示),然後它不。

任何幫助表示讚賞。提前致謝。

回答

1

pouchdb-find使用新的「Mango」查詢語言,它與map/reduce不同。 Mango僅在CouchDB 2.0+和PouchDB服務器中支持,不支持, CouchDB 1.x.

所以現在你需要使用CouchDB 2.0或者PouchDB服務器和pouchdb-find,如果你想讓它在客戶端和服務器上工作,或者你需要使用常規的map/reduce來避免pouchdb找到的。

+0

感謝您提供寶貴的信息。不知道。在Windows中瀏覽時,我只能在CouchDB中看到1.6版本,並且我認爲它是最新版本。在這種情況下,我寧願跳過pouchdb查找。 – HADI