2016-05-17 4 views
0

cloudant dbに一括照会したいと思います。'_all_docs?keys ='を使用してdbを照会し、返すフィールドを指定する

_id(プライマリキー)のリストを指定し、dbに_idと一致するドキュメントを返します。

これは次のように動作します。しかし、_id_revfield_nameも返信したいと思います。 include_docs=trueを使用せずにこれを行う方法はありますか?

要求:

http://{db-host}/{db-name}/_all_docs?keys=["1e0a2d30d18d95b9bcc05d92c8736eab","181687d2f16debc10f9e365cc4002371"] 

応答:

{ 
    "total_rows": 3, 
    "rows": [{ 
    "id": "1e0a2d30d18d95b9bcc05d92c8736eab", 
    "key": "1e0a2d30d18d95b9bcc05d92c8736eab", 
    "value": { 
     "rev": "1-a26b67f478e4f3f8fd49779a66fc7949" 
    } 
    }, { 
    "id": "181687d2f16debc10f9e365cc4002371", 
    "key": "181687d2f16debc10f9e365cc4002371", 
    "value": { 
     "rev": "1-7338901ca1c5c06ef81a6971aa6e8f9d" 
    } 
    }] 
} 
+0

あなたは既に 'id'と' rev'を持っています。 – OrangeDog

+0

'field_name'も欲しいです。 – bobbyrne01

答えて

2

号は_all_docsのインデックスはfield_nameデータが含まれていません。 このビューを使用して取得する唯一の方法は、include_docsです。

そうしないと、あなたが望むものを放つ独自のビューを作成(およびインデックス作成)する必要があります。

map: function(doc) { 
    emit(doc._id, { _id: doc._id, _rev: doc._rev, field_name: doc.field_name }); 
} 
0

include_docsを使用するか、手動ですべてのフィールドを移入する代わりにそのように、ビュー内の値としてドキュメントを放出することである。

emit(doc._id, doc); 
+0

ドキュメントの引用:「ビューでドキュメント自体を発行することはお勧めしません。代わりに、ビューを要求するときにドキュメントの本文を含めるには、?include_docs = trueでビューを要求してください。 – Gnujeremie

関連する問題