我有一个data.json
文件可以正常使用我的应用程序,该文件遵循语法
{
"name":"TESTER",
"shortname":"TEST",
"reknown":"TRIAL",
"bio":"TESTER is testing"
},
但是我想转向couchDB以获得可伸缩性 我已经构建了我的CouchDB,因此我拥有100个文档的数据库 在文档中,我创建了一个名为content的Field窗格 并在上面插入/嵌套json文件数据
如何让CouchDB map / view函数以与原始json文件相同的可用JSON格式返回数据而不使用密钥id等。
任何帮助将不胜感激
答案 0 :(得分:0)
使用list functions或show functions以您喜欢的任何方式格式化文档。
答案 1 :(得分:0)
如果需要,您可以将其作为单独的文档插入。
{
"name":"TESTER",
"shortname":"TEST",
"reknown":"TRIAL",
"bio":"TESTER is testing"
}
为了得到你需要的东西,我会添加另一个属性type
:
{
"type": "person",
"name":"TESTER",
"shortname":"TEST",
"reknown":"TRIAL",
"bio":"TESTER is testing"
}
然后你可以有这样的地图功能:
function(doc) {
if(doc.type === "person") {
emit(doc._id, doc);
}
}
如果需要,您可以自己发出文档,但这不是必需的。
然后您可以查询此视图,它将返回所有人员的列表。您可以像Giovanni一样使用show
函数指出,但这并不是必需的。
返回的json将包含更多信息,您只需在客户端过滤文档即可获得所需内容。
map(function (doc) {
return doc.value;
}, requested_document.rows)
为了防止索引变大,可以在可能的情况下发出null。并使用include_docs=true
查询视图。