14
A
回答
7
...這是否意味着我需要創建多個數據庫?
號
...文檔意味着SQL行還是我誤解?
沒錯。 SQL表定義了列標題(名稱和類型) - 它們是文檔的JSON屬性名稱。
因此,具有相同屬性(所謂的「模式」)的所有文檔(行)都等同於您的SQL表。您可以根據需要在一個數據庫中使用不同的模式(訪問json-schema.org獲取靈感)。
如何分別要求他們?創建CouchDB視圖!您可以使用SQL中的一個請求獲取表格數據的全部/部分「行」(具有相同模式的文檔)。
要寫這樣的視圖很容易,屬性type
是非常常見的CouchDB文檔。您從SQL表中得知的名稱可以是您的類型,如doc.type: "animal"
您的視圖名稱可能是animalByName
或animalByWeight
。取決於你的需求。
9
這個問題的答案似乎令人驚訝地沒有記錄在案。雖然@llabball明確給出了一個體面的答案,但我不認爲這些觀點總是要走的。
正如你可以在部分當不使用的map/reduce讀here,諾蘭解釋說,簡單的應用,關鍵是要濫用_ids
,並充分利用的allDocs()
力量。換句話說,如果你有兩種不同的類型(比如說藝術家和專輯),那麼你可以在每個類型的ID前面添加一個簡單的可搜索數據集。例如_id: 'artist_name'
& _id: 'album_title'
,可以讓您輕鬆地按名稱順序檢索藝術家。
以這種方式佈置數據將導致更好的性能,因爲不需要額外的索引和更少的代碼。然而很明顯,如果你的數據需求更復雜,那麼視圖就是要走的路。
0
有時多數據庫計劃是一個很好的選擇,例如每個用戶的數據庫或每個用戶特徵的數據庫。查看CouchDB郵件列表上的this conversation。
相關問題
- 1. Couchdb/Pouchdb架構設計
- 2. PouchDB:返回查詢()結果對象
- 3. PouchDB ETIMEDOUT錯誤
- 4. PouchDB&ANGULARJS - 設計
- 5. PouchDB - IN子句
- 6. Ionic:sqLite&PouchDB或NoSQL
- 7. python使用pouchdb
- 8. QuotaExceededError與pouchdb
- 9. PouchDB安全
- 10. PouchDB on Cloudant
- 11. 無法從PouchDB
- 12. 結構的結構?
- 13. 結構在結構
- 14. PouchDB和附着物
- 15. PouchDB與Couchbase複製
- 16. Cloudant到PouchDB複製
- 17. Pouchdb/CouchDB all_docs錯誤
- 18. Phonegap上的PouchDB(Android)
- 19. PouchDB沒有定義
- 20. PouchDB發現陣列
- 21. 無法銷燬PouchDB
- 22. PouchDB損壞檢測
- 23. PouchDB同步授權?
- 24. pouchDB allDocs返回undefined
- 25. PouchDB +解決衝突
- 26. 閱讀遠程pouchdb
- 27. 用戶數據的PouchDB/CouchDB使用/架構
- 28. 如何構建一個多用戶pouchdb/coucdb應用和驗證
- 29. PouchDB管理員查看多個用戶PouchDB
- 30. 無法將圖像存儲在PouchDB中 - Ionic/angularjs/pouchdb