例如,我是cloudant的新手,例如,在同一个数据库中有两个不同的文档结构,如下所示。
我想知道如何列出具有特定结构的所有文档?另一个问题是如何使用Java列出类型2的所有文档并与对类型1的特定文档的引用有关?
例如:
Document1
<servlet-class>
文档2:保留对文档1的引用
<jsp-file>
答案 0 :(得分:2)
在Cloudant / CouchDB中实现此目标的标准方法是使用一个鉴别符字段,该字段指定文档类型,然后使用一个视图。例如:
文档1:
{
"_id": "dec_1",
"name": "value",
"type": "Value",
"doctype": "dec"
}
文档2:
{
"_id" : "ship_1",
"decRef" : "dec_1",
"size" : "1.0",
"doctype": "ship"
}
然后创建一个视图,地图看起来像这样:
function (doc) {
if (doc && doc.doctype) {
emit(doc.doctype, null);
}
}
现在您可以通过点击视图列出所有给定类型的文档
curl "https://U:P@U.cloudant.com/DB/_design/DDOC/_view/VIEW?key=\"dec\""
{"total_rows":1,"offset":0,"rows":[
{"id":"dec_1","key":"dec","value":null}
]}