0
我想使用MongoDB的樣_find
查詢CouchDB中2.X:
http://docs.couchdb.org/en/2.1.0/api/database/find.htmlCouchDB的_find查詢與use_index不工作
具有以下,我得到我應該使用索引警告。
curl -k -X POST "$COUCHDB_HOST/vacation-at-ibm/_find" \
> -H "Content-Type: application/json" \
> -w "\nhttp_code=%{http_code}\n" \
> --data-binary '
> {
> "selector": {
> "ownerId": {"$eq": "1A4061897"}
> }
> }
> '
{"warning":"no matching index found, create an index to optimize query time",
"docs":[
{...}
http_code=200
但是,當我加入use_index
選項,我得到一個錯誤,它無法找到我的索引:
curl -k -X POST "$COUCHDB_HOST/vacation-at-ibm/_find" \
> -H "Content-Type: application/json" \
> -w "\nhttp_code=%{http_code}\n" \
> --data-binary '
> {
> "use_index": [
> "_design/EventDocument",
> "events-by-ownerId"
> ],
> "selector": {
> "ownerId": {"$eq": "1A4061897"}
> }
> }
> '
{"error":"unknown_error","reason":"Unknown Error: mango_idx :: {no_usable_index,no_index_matching_name}"}
我做,我應該指定設計文件關鍵假設和視圖名稱。但是這是一個猜測,因爲我發現use_index
選項絕對沒有有用的文檔。沒有實際嘗試使用它的例子。這是我的設計文檔:
{
"_id": "_design/EventDocument",
"_rev": "1-115570169dec7d32845c3b7c6e6978fe",
"language": "javascript",
"views": {
"events-by-ownerId": {
"map": "function(doc) { if (doc.docType == 'event' && doc.ownerId) { var firstDate = null; if (doc.date) { firstDate = doc.date; } emit([doc.ownerId, firstDate], doc); }}"
}
}
}
有沒有人知道如何使用此選項?我是否在設計文檔和索引中使用了錯誤的值?