我想对cloudant
db进行批量查询。
通过提供_id
s(主键)列表,让db返回任何匹配_id
s的文档。
这样做如下所示。但是,我还要返回_id
,_rev
和field_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 :(得分:2)
没有。 _all_docs的索引不包含field_name
数据。
使用此视图获取此视图的唯一方法是使用include_docs
。
否则,您必须编写(并编制索引)您自己的视图,以发出您想要的内容。
map: function(doc) {
emit(doc._id, { _id: doc._id, _rev: doc._rev, field_name: doc.field_name });
}
答案 1 :(得分:0)
使用include_docs或手动填充所有字段的替代方法是在视图中将文档作为值发出,如下所示:
emit(doc._id, doc);