在第一個示例(http://docs.couchdb.org/en/1.6.1/couchapp/views/collation.html#views-collation)下的CouchDB官方文檔的視圖歸類章節中,建議不建議在視圖中發佈文檔本身,而是建議在包含文檔的主體時包含文檔的主體請求視圖,請求?include_docs=true
。爲什麼CouchDB文檔提示文檔不應該在視圖中發佈?
如果我理解正確的話,而不是:
emit(doc._id, doc);
,並得到結果的格式如下:
{"id":"1","key":"1","value":{"_id": "1", "someProp": "someVal"}},
故建議空值發送發出:
emit(doc._id, null)
然後當使用include_docs參數查詢我的視圖以下列形式獲取結果時在:
{
"id": "1",
"key": "1",
"value": null,
"doc": {
"_id": "1",
"_rev": "1-0eee81fecb5aa4f51e285c621271ff02",
"someProp": "someVal"
}
如果有人建議,比我假設的是,性能會更好,但不幸的是,文件沒有詳細說明爲什麼和其他的例子發出文件通常在信號發送的值。任何人都可以在這方面得到更多的啓示
感謝Dominic,因此在查詢時收集emit(doc._id,doc)速度更快,但使用include_docs = true的更多磁盤空間用於緩存/索引vs emit(doc._id,null)可能會更慢,因爲引擎由於缺少緩存/索引文檔,需要進行查詢,但是我們節省了磁盤空間。 –
@Dominic Barnes你能確定sigman.pl在他的評論中寫道什麼嗎? – Magiranu
@Magiranu對我來說聽起來是對的 –