问题描述
|
我正在创建一个应用程序,每个产品都有一个数据库,我将根据日期创建不同的文档。文档中的密钥可以不同,并且取决于用户提供的内容。假设用户将不断提供相同的密钥以进行随时间变化的值的跟踪。最后,在创建自动键之前,我需要知道所有可能的键。
例:
如果我有数据库,请说测试。它包含两个文档,
1. {
\“ _ id \”:\“ 1 \”,
\“ _ rev \”:\“ 1- \”
\“类型\”:\“注释\”,
\“ content \”:\“ Hello World!\”
}
2. {
\“ _ id \”:\“ 2 \”,
\“ _ rev \”:\“ 1- \”
\“类型\”:\“注释\”,
\“ content \”:\“超越Hello World!”,
\“额外\”:\“景气\”
}
然后,我要列出此数据库中的所有键。因此,答案应为_id,_rev,类型,内容等。
这些密钥是动态的,并取决于用户。所以,我不能以为我事先知道他们。
解决方法
我以前从未使用过stackoverflow,尝试自己解决此问题时看到了您的问题,因此我已经注册。我认为这可以解决您的问题:
创建一个视图,其中“视图”包括以下内容:
{
\“键\”:{
\“ map \”:\“ function(doc){表示(doc中的var something){发射(thing,1);}} \”,
\“ reduce \”:\“ function(key,values){return sum(values ;;} \”
}
}
然后使用group = true对该视图进行查询,例如:
http:// localhost:5984 / mydb / _design / myview / _view / keys?group = true
您应该返回数据库中所有键的列表以及出现频率的计数。
这有帮助吗?