4

我正在创建一个应用程序,其中对于每个产品我都有一个数据库,我将根据日期创建不同的文档。文档中的密钥可能不同,并且取决于用户,他提供的内容。假设用户将继续提供相同的密钥来跟踪随时间变化的值。最后,在创建自动视图之前,我需要知道所有可能的键。

示例:如果我有数据库,比如说,测试。它包含,比如说,两个文件,

1. {
 "_id":"1",
 "_rev":"1-"
 “类型”:“注意”,
 “内容”:“你好世界!”
}

2. {
 "_id":"2",
 "_rev":"1-"
 “类型”:“注意”,
 "content": "超越你好世界!",
 “额外”:“繁荣”
}

然后我想列出这个数据库中的所有键。因此,答案应该是 _id、_rev、type、content 等。

这些密钥是动态的并且取决于用户。所以,我不能假设我事先就认识他们。

4

1 回答 1

8

我以前从未使用过stackoverflow,我在尝试自己解决这个问题时看到了你的问题,所以我已经注册了。我认为这可以解决您的问题:

创建一个视图,其中“视图”包括:

{ "keys": { "map": "function(doc) { for (var thing in doc) { emit(thing,1); } }", "reduce": "function(key,values) { return sum(值); }" } }

然后使用 group=true 查询该视图,例如:

http://localhost:5984/mydb/_design/myview/_view/keys?group=true

您应该返回数据库中所有键的列表以及发生频率的计数。

这有帮助吗?

于 2011-06-24T17:53:57.403 回答