gpt4 book ai didi

java - 同一数据库中的 Cloudant 不同文档结构

转载 作者:行者123 更新时间:2023-12-02 01:53:35 25 4
gpt4 key购买 nike

我是 cloudant 的新手,我在同一个数据库中有两个不同的文档结构,如下所示。

我想知道如何列出所有具有特定结构的文档?另一个问题如何使用 Java 列出文档 2 类型的所有文档以及与文档 1 类型的特定文档的引用相关的所有文档?

例如:

文档1

{
"_id" : "dec_1",
"name" : "value",
"type" : "Value"
}

文档 2:其中包含对文档 1 的引用

{
"_id" : "ship_1",
"decRef" : "dec_1",
"size" : "1.0"
}

最佳答案

在 Cloudant/CouchDB 中实现此目的的规范方法是使用指定文档类型的鉴别器字段,然后使用 View 。例如:

文档 1:

{
"_id": "dec_1",
"name": "value",
"type": "Value",
"doctype": "dec"
}

文档2:

{
"_id" : "ship_1",
"decRef" : "dec_1",
"size" : "1.0",
"doctype": "ship"
}

然后创建一个 View ,其中的 map 如下所示:

function (doc) {
if (doc && doc.doctype) {
emit(doc.doctype, null);
}
}

现在您可以通过点击 View 列出给定类型的所有文档

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}
]}

关于java - 同一数据库中的 Cloudant 不同文档结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52626961/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com