回答
沒有辦法參加,但是你可以考慮存儲在同一個數據庫中的附件,或在其中引用它們的相同文件。
我知道這是可以做到連接數據庫中:
這裏有一個偉大的帖子:http://www.cmlenz.net/archives/2007/10/couchdb-joins
它的關鍵是,CouchDB的可訂購的JSON值,包括列表。
所以,讓我們把它從頂部... CouchDB的,你也知道,專賣店JSON文件。它使用映射函數來「發射」有序的鍵值對(這裏是來自couchdb權威指南的頁面:http://guide.couchdb.org/draft/views.html)那麼讓我們舉一個超級簡單的例子,然後我們需要一個複雜的'連接'。
這是一個地圖功能,通過每個文檔的數據庫去,檢查是否有文檔的作者,如果確實如此,顯示它的作者,它的後期。結果將是按鍵排序的「鍵值對」的列表,在本例中爲作者(按字母順序排列)。
function (doc) {
if (doc.author) {
emit(doc.author, doc.post);
}
}
現在我們複雜的例子。這個例子假設db將博客文章作爲json文檔,並將註釋作爲單獨的json文檔。這些評論有一個名爲'post'的關鍵字,其中包含他們所屬博客帖子的ID,就像mySQL中的外部id。
function(doc) {
if (doc.type == "post") {
emit([doc._id, 0], doc);
} else if (doc.type == "comment") {
emit([doc.post, 1], doc);
}
}
那到底是怎麼回事?所以,首先要注意的是'其他'部分。該功能實際上將博客文章和評論映射到相同的視圖(鍵值對的有序列表)。
「doc._id」是一個特殊的帖子的ID,而「doc.post」是一條評論屬於兩個帖子的ID。所以整個列表是按博客文章的ID排序的。
如果doc.type是「博客文章」它附加一個「0」的陣列來表示的話,和該文檔是一個「1」在「評論」。現在,這是魔術。文檔(帖子和評論)在一個鍵值對的列表中排序,但由於CouchDB可以排列數組,所以它將在一篇博客文章和下一篇博文之間滑動帶有'1'(註釋)的數組。合理?
哈哈,從我們已經習慣了這樣的不同,而這僅僅是一個創造性的解決方案。還有許多其他方法可以創建您可能需要的結果。希望這有幫助!
- 1. 沙發db的服務db
- 2. 沙發DB MacOSX上
- 3. 的Map Reduce沙發Db的
- 4. 沙發中的Erlang視圖DB
- 5. 其他的方式來檢查觸發操作上火鳥RDBMS
- 6. 在沙發上使用視圖DB
- 7. Mongodb與沙發Db選擇性能
- 8. 在線視圖定義沙發Db Ektorp
- 9. 沙盒操作系統
- 10. JavaScript的操作類似於SQL 「喜歡」
- 11. 如何觸發遠程站點上的類似頁面操作?
- 12. DB操作與C#
- 13. 在Scala中執行類似Python的「導入」操作
- 14. 使用DB類似列名
- 15. 自加入操作
- 16. 更改DB的Rspec操作
- 17. SQL加入類似SELECTS
- 18. php加入類似結果
- 19. Android蜂窩標籤類似操作欄
- 20. 在SOLR中使用類似操作
- 21. 在沙發上更新文檔後觸發器db
- 22. 加入加速SQL查詢和類似
- 23. DB地理類型的MakeValid似乎沒有工作
- 24. 加入兩個類似的表
- 25. SQL加入2個類似的表
- 26. 加入操作重複
- 27. 操作數據中加入
- 28. Python的「加入」類似Unix的功能「加入」
- 29. Powershell對於兩個類似的操作工作方式不同
- 30. 沙發db文檔的部分複製與附件可能嗎?
引用它們的相同文檔。 – Mintu 2012-02-24 12:21:20