我第一次接触NoSQL数据库是通过Firebase进行的,我通常会将json数据存储到以下网址:Project
,然后将其他内容存储到像public void mouseClicked(final MouseEvent mouseEvent)
{
if (2 == event.getClickCount()) {
// Do something
}
}
这样的网址。< / p>
尝试在CouchDB中做同样的事情我遇到了一个问题。
例如,我保存了一个简单的对象,如:
category
到
category/subcategory
按预期工作。然后我尝试保存以下
{"_id":"one"}
到
database/category
我收到此错误消息:
{"_id":"two"}
显然,当您在网址中使用多个斜杠时,Couch会将资源理解为附件。如果是这样,那么如何建立数据库,其中数据将具有多个级别,例如database/category/subcategory
?
答案 0 :(得分:1)
CouchDB不适合您描述的用法。 CouchDB是一个平面文档存储。
您应该展平您的结构,以便将其存储在CouchDB中。
{"_id":"country-es",
"type":"geography",
"country":"Spain",
"continent":"Europe"
}
{"_id":"country-fr",
"type":"geography",
"country":"France",
"continent":"Europe"
}
然后使用视图以便有一种机制来分层查询它。
function (doc) {
if (doc.type == "geography") {
emit([doc.continent,doc.country], doc._id );
}
}