什麼是發射原稿值的一個較好的方法:Cloudant二級索引查詢include_docs
- 保持文檔作爲秒的值。索引鍵,如emit(doc._id,doc)或
- 值應爲空並且查詢包含include_docs。
據我瞭解,include_docs = true會在查看二級索引時進行另一個查詢查詢(內部),但另一方面,插入/更新速度減慢,文檔成爲次要索引值。
任何資源,作爲所有可以在二級索引中完成的詳盡參考,將是非常有用的。
什麼是發射原稿值的一個較好的方法:Cloudant二級索引查詢include_docs
據我瞭解,include_docs = true會在查看二級索引時進行另一個查詢查詢(內部),但另一方面,插入/更新速度減慢,文檔成爲次要索引值。
任何資源,作爲所有可以在二級索引中完成的詳盡參考,將是非常有用的。
請看看官方的CouchDB文檔:http://docs.couchdb.org/en/1.6.1/couchapp/views/intro.html
很難確定什麼是不知道的情況下使用更好。 您提供的地圖功能會發出所有文檔,如果您需要獲取所有文檔,該功能將非常有用。以下場景描述了一些其他的情況下,你可以考慮:
如果您的文件是小,你很可能會被某些領域的文檔進行搜索,如日期,你可發射領域爲重點,並沒有什麼作爲的值(視圖名稱可以是by_date
),限定在所述查詢的搜索條件,並且包括文檔:
emit(doc.date)
和樣品網址爲:
http://host:port/db/_design/searches/_view/by_date?key="2012-01-5"&include_docs=true
立即爲您提供與搜索條件匹配的所有文檔。
同樣,你可以發出DOC的值,而不是使用 'include_docs' 選項:
emit(doc.date, doc)
和樣本URL現在是:
http://host:port/db/_design/searches/_view/by_date?key="2012-01-5"
不幸的是,我不知道這和以上的性能差異是什麼。
如果您的文件是巨大的,你很可能會獲取一個單獨的文件之前提出的摘要,(讓調用視圖by_date_summaries
):
emit(doc.date, {"id": doc._id, "title":doc.title, "info":doc.otherInfo});
和樣本URL來獲取摘要是:
http://host:port/db/_design/searches/_view/by_date_summaries?key="2012-01-5"
現在,您可以顯示摘要列表,一旦用戶選擇了其中的一個,你使用匯總髮出的ID獲取實際文檔
顯然有更多的機制可用:複雜的鍵,減少功能等,但我認爲上述2例足夠了,而不知道確切的用例,它們是探索基本couchdb查詢機制的一個很好的起點。
重要的是要考慮您的用例,並設計您的數據模型和視圖。